web-dev-qa-db-fra.com

Formater un nombre à deux chiffres même si le premier est un vba

J'aimerais pouvoir utiliser VBA pour afficher n'importe quel nombre entre 1 et 24 sous forme de nombre à 2 chiffres. Évidemment, les seuls qui ont un problème avec ceci sont 1-9 que je voudrais afficher comme 01, 02, 03, etc.

8
Chad Portman

Vous ne pouvez pas formater une variable entière, vous devez utiliser une variable de chaîne pour le formatage.

Vous pouvez convertir la partie jour d'une date en un format avec zéros en tête à l'aide de la fonction Day pour extraire le numéro du jour à partir de la date, puis en utilisant la fonction Format avec un format "00" pour ajouter un zéro en tête si nécessaire.

Format (jour (myDate), "00")

myDate est une variable Date contenant la valeur Date complète

La macro suivante peut être utilisée comme exemple de travail

Sub Macro1()
    Dim myDate As Date

    myDate = "2015-5-1"

    Dim dayPart  As String

    dayPart = Format(Day(myDate), "00")

    MsgBox dayPart
End Sub
17
DeanOC

Je l'ai fait comme ça:

number_item = 2
number_item = WorksheetFunction.Text(number_item, "00") 

Cela fera le travail.

1
Matti

Bien sûr, vous pouvez formater un entier, il vous suffit de le convertir en chaîne dans la commande format:

formattedIntAsString = Format(Cstr(intValue), "00")
0
PKatona