Date de formatage VBA

Ce tutoriel montrera comment formater les dates en utilisant VBA.

Formater les dates en VBA

Il existe deux méthodes pour formater les dates en utilisant VBA.

  1. La propriété NumberFormat de Cells / Ranges - Pour formater les dates stockées dans les cellules
  2. La fonction Format VBA - Pour formater les dates en VBA (ex. variables)

FormatNombre - 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.

Noter: Pour voir les différents formats de date standard disponibles dans Excel, accédez à Accueil> Numéro et vous verrez des options telles que Date courte, Date longue et Heure.


Date courte

L'option Formatage du numéro de date courte affiche la date dans un format numérique court.

Le code suivant définira la propriété .NumberFormat de la cellule A1 sur Date courte :

1 Plage ("A1").NumberFormat = "mm/jj/aaaa"

Date longue

Le formatage des nombres de date longue affiche la date dans un format écrit plus long. Le code suivant définira la propriété .NumberFormat de la cellule A1 sur une date longue :

1 Range ("A1").NumberFormat = "jjjj, mmmm jj, aaaa"

Dates personnalisées

Pour voir les codes de format numérique personnalisés que vous pouvez utiliser dans VBA pour formater les dates, accédez à Accueil> Numéro et cliquez sur le lanceur de boîte de dialogue. Sélectionnez l'onglet Numéro et choisissez Personnalisé.

Vous pouvez soit sélectionner les formats intégrés personnalisés pour votre date, soit créer vos propres formats de date définis par l'utilisateur. Le code suivant définira la propriété .NumberFormat de la cellule A1 sur un format de date personnalisé intégré :

1 Plage ("A1").NumberFormat = "mmm-aa"

Le résultat est:

Le code suivant définira la propriété .NumberFormat de la cellule A1 sur un format de date personnalisé défini par l'utilisateur :

1 Plage ("A1").NumberFormat = "jjj-jj-mmm-aa"

Le résultat est:

En examinant les exemples prédéfinis d'Excel, vous pouvez apprendre comment les NumberFormats doivent être saisis. Pour plus d'informations, lisez la documentation de Microsoft sur les formats de nombres pour les dates.

Fonction de formatage VBA

Comme mentionné ci-dessus, la méthode NumberFormat est appropriée pour définir le format numérique des dates stockées dans les cellules Excel. Dans VBA, vous pouvez utiliser la fonction 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 de nombre spécifiant la manière 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", "jjjj, mmmm jj, aaaa")

Le résultat est:

Notez que la fonction 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 au 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", "jjj : 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 bibliothèque de codes complète et un assortiment d'autres outils de codage. C'est le complément ultime pour tous ceux qui s'intéressent sérieusement à la programmation VBA !

Date de format VBA dans Access

La fonction de date de format VBA fonctionne exactement de la même manière dans Access VBA que dans Excel VBA.

12345678910 Fonction GetDateFilter() en tant que chaîne'créer une chaîne pour obtenir des informations à partir de 2 champs de date sur un formulaire dans AccessDim strDateField en tant que chaîneSi IsNull(Me.txtSDate) = False AlorsSi IsNull(Me.txtEDate) = True Then Me.txtEDate = Me.txtSDateSi strDateField2 = "" AlorsGetDateFilter = strDateField & " Entre #" & Format(Me.txtSDate, "mm/dd/yyyy") & "# And # " & Format(Me.txtEDate, "mm/dd/yyyy") & "#"Fin siFin siFonction de fin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave