Ce didacticiel montrera comment formater les dates à l’aide de VBA.
Formater les dates dans VBA
Il existe deux méthodes pour formater les dates à l’aide de VBA.
- La propriété NumberFormat des cellules/Plages – Pour formater les dates stockées dans les cellules
- La fonction de format VBA – Pour formater les dates dans VBA (ex. variables)
NumberFormat-Dates
Le format numérique par défaut d’une cellule dans Excel est général. Vous pouvez afficher les valeurs sous forme de nombres, de texte, de dates, de pourcentages ou de devises en modifiant le format des nombres. La propriété NumberFormat peut être utilisée dans VBA pour définir le format numérique des dates dans une cellule ou une plage.
Remarque: Pour voir les différents formats de date standard disponibles dans Excel, accédez au numéro d’accueil > et vous verrez des options telles que la Date courte, la Date longue et l’Heure.
Date courte
L’option de formatage du numéro de date courte affiche la date sous un format numérique court.
Le code suivant définit le .Propriété NumberFormat de la cellule A1 à date courte:
1
|
Portée (« A1″).NumberFormat= »mm/jj/aaaa »
|
Date longue
La mise en forme du numéro de date longue affiche la date dans un format écrit plus long. Le code suivant définira le.Propriété NumberFormat de la cellule A1 à Date longue:
1
|
Portée (« A1″).NumberFormat = »dddd, mmmm jj, aaaa »
|
Dates personnalisées
Afin de voir les codes de format de numéro personnalisés que vous pouvez utiliser dans VBA pour formater les dates, accédez au Numéro Accueil > et cliquez sur le Lanceur de boîte de dialogue. Sélectionnez l’onglet Numéro et choisissez Personnalisé.
Vous pouvez sélectionner les formats intégrés personnalisés pour votre date ou créer vos propres formats de date définis par l’utilisateur. Le code suivant définira le.Propriété NumberFormat de la cellule A1 dans un format de date personnalisé intégré:
1
|
Portée (« A1″).NumberFormat = »mmm-aa »
|
Le résultat est:
Le code suivant définira le.Propriété NumberFormat de la cellule A1, dans un format de date personnalisé défini par l’utilisateur:
1
|
Portée (« A1″).NumberFormat = »dddd-jj-mmm-aa »
|
Le résultat est:
En consultant les exemples prédéfinis d’Excel, vous pouvez apprendre comment les formulaires numériques doivent être saisis. Pour plus d’informations, lisez la documentation de Microsoft sur les formats de nombres pour les dates.
Fonction de format VBA
Comme mentionné ci-dessus, la méthode NumberFormat est appropriée pour définir le Numberformat de dates stockées dans des cellules Excel. Dans VBA, vous pouvez utiliser la fonction de format pour convertir des dates en chaînes avec un certain formatage de date.
Vous utiliseriez la syntaxe suivante pour formater les dates:
Format(String_Representation, NumberFormatCode) où :
String_Representation – la chaîne de texte représentant la date.
NumberFormatCode – le code de format numérique spécifiant la façon dont la date doit être affichée.
Le code suivant montre comment formater une représentation sous forme de chaîne de texte d’une date au format de date longue:
1
|
Format MsgBox (« 1/1/2010 », « dddd, mmmm jj, aaaa »)
|
Le résultat est:
Notez que la fonction de format utilise la même syntaxe de mise en forme de date que le NumberFormat ci-dessus.
Le code suivant montre comment formater une représentation sous forme de chaîne de texte d’une date en tant que format de date moyen:
1
|
Format MsgBox (« 09 octobre 2012 », « Date moyenne »)
|
Le résultat est:
Le code suivant montre comment formater une représentation sous forme de chaîne de texte d’une date en tant que format défini par l’utilisateur:
1
|
Format MsgBox (« 09 octobre 2012 », « dddd: jj/mm / aa »)
|
Générateur de format personnalisé VBA
Notre complément VBA : AutoMacro contient un Générateur de format personnalisé pour l’Éditeur VBA. Cela vous permet de définir des formats personnalisés et de prévisualiser immédiatement la sortie pour la valeur souhaitée:
Le complément VBA contient de nombreux autres « générateurs de code », une vaste bibliothèque de codes et un assortiment d’autres outils de codage. C’est le complément ultime pour toute personne sérieuse au sujet de la programmation VBA!
Date au format VBA dans Access
La fonction de date au format VBA fonctionne exactement de la même manière dans Access VBA que dans Excel VBA.
1
2
3
4
5
6
7
8
9
10
|
Function GetDateFilter() As String
‘ créez une chaîne pour obtenir des informations à partir de 2 champs de date sur un formulaire dans Access
Dim strDateField As String
If IsNull(Me.Il est possible d’utiliser la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur de la valeur.txtEDate) = Vrai Alors Moi.txtEDate = Moi.Si vous avez besoin d’un fichier de données, vous pouvez utiliser le fichier de données ci-dessous pour créer un fichier de données.txtSDate, « mm/jj/aaaa ») & « # Et # » & Format (Moi.txtEDate, « jj/mm/aaaa ») & « # »
Fin Si
Fin Si
Fonction de fin
|