Comment formater une date avec VBA dans Excel (4 méthodes)

  • Partage Ça
Hugh West

Mise en œuvre de Macro VBA est la méthode la plus efficace, la plus rapide et la plus sûre pour exécuter n'importe quelle opération dans Excel. Dans cet article, nous allons vous montrer comment formater la date dans Excel en utilisant la fonction VBA .

Télécharger le cahier d'exercices

Vous pouvez télécharger le cahier d'exercices Excel gratuit à partir d'ici.

Formater la date avec VBA.xlsm

4 méthodes pour formater une date dans Excel avec VBA

Regardez l'exemple suivant. Nous avons stocké les mêmes dates dans les deux fichiers Colonne B et C de sorte que lorsque nous formatons la date dans Colonne C vous saurez, grâce au B Colonne dans quel format la date était avant.

VBA pour formater une date d'un type à un autre dans Excel

Tout d'abord, nous allons savoir comment formater la date à partir de Cellule C5 dans notre jeu de données donné avec VBA à " Mardi-Janvier-2022 ".

Des pas :

  • Appuyez sur Alt + F11 sur votre clavier ou allez dans l'onglet Développeur -> ; Visual Basic pour ouvrir Éditeur Visual Basic .

  • Dans la fenêtre de code contextuelle, dans la barre de menu, cliquez sur Insertion -> ; Module .

  • Copiez le code suivant et collez-le dans la fenêtre de code.
 Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmm-yyyy" 'Ceci formatera la date en "mardi-janvier-2022" End Sub 

Votre code est maintenant prêt à être exécuté.

  • Appuyez sur F5 sur votre clavier ou dans la barre de menu, sélectionnez Run -> ; Run Sub/UserForm Vous pouvez également cliquer sur le bouton petite icône Play dans la barre de sous-menu pour exécuter la macro.

Ce code va formater la date " 11-01-22 " à " Mardi-Janvier-2022 ".

Vous pouvez également convertir ce format de date en de nombreux autres formats. Il suffit de suivre le code ci-dessous pour transformer la date dans le format que vous souhaitez.

 Sub FormatDate() 'La date originale est "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'Ceci formatera la date à "11-01-2022" Range("C6").NumberFormat = "ddd-mm-yyy" 'Ceci formatera la date à "Tue-11-2022" Range("C7").NumberFormat = "dddd-mm-yyy" 'Ceci formatera la date à "Tuesday-11-2022" Range("C8").NumberFormat = "dd-mmm-yyy" 'Ceci formatera la date à"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" 'Ceci formatera la date à "11-January-2022" Range("C10").NumberFormat = "dd-mm-yy" 'Ceci formatera la date à "11-01-22" Range("C11").NumberFormat = "ddd mmm yyyy" 'Ceci formatera la date à "Tue Jan 2022" Range("C12").NumberFormat = "dddd mmmm yyyy" 'Ceci formatera la date à "Tuesday January 2022" End Sub 

Vue d'ensemble

Lire la suite : Fonctions Now et Format dans Excel VBA

2. incorporer VBA pour convertir la date avec la fonction FORMAT

Excel a son propre numéro de série concernant les dates individuelles. Si vous voulez connaître le numéro de série de n'importe quelle date d'Excel, vous pouvez le faire.

date précise, vous devez demander la fonction DATEVALUE .

Supposons que vous vouliez connaître le numéro de série de la date " 11 janvier 2022 ", alors vous devez écrire la formule comme suit,

=DATEVALUE("11 janvier 2022")

Excel vous donnera le numéro de série 44572 de cette date.

Nous allons maintenant transformer ce nombre dans le format de date approprié.

Des pas :

  • De la même manière que précédemment, ouvrez Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub Format_Date() Dim iDate As Variant iDate = 44572 'Numéro de série Excel de la date "11 janvier 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub 

Votre code est maintenant prêt à être exécuté.

Vous obtiendrez la date " 11 janvier 2022 "dans la boîte de message.

Lire la suite : Comment utiliser la fonction VBA DateValue dans Excel ?

Lectures similaires

  • Comment insérer la date du jour dans Excel (3 façons)
  • Variable date dans les codes VBA (7 utilisations des macros avec exemples)
  • Obtenir la date du jour en VBA (3 façons)
  • Comment utiliser le raccourci de date d'Excel

3. VBA pour transformer une date en fonction d'une partie spécifique dans Excel

Supposons que vous vouliez formater une partie spécifique de la date, par exemple, seulement le jour/mois/année, alors écrivez le code suivant,

 Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Ceci formatera la date en "janvier" End Sub 

Votre code est maintenant prêt à être exécuté.

Le " mmmm "dans ce code signifie la forme longue du nom du mois.

Comme la date est " 11 janvier 2022 "donc ce morceau de code retournera " Janvier ".

Vous pouvez mettre en œuvre ce code pour formater et extraire toute partie spécifique que vous souhaitez de la date.

 Sub FormatDateValue() 'La date d'origine est "11-01-22" Range("C5").NumberFormat = "dd" 'Ceci formatera la date à "11" Range("C6").NumberFormat = "ddd" 'Ceci formatera la date à "Tue" Range("C7").NumberFormat = "dddd" 'Ceci formatera la date à "Tuesday" Range("C8").NumberFormat = "m" 'Ceci formatera la date à "1" Range("C9").NumberFormat = "mm" 'Ceciformat de la date à "01" Range("C10").NumberFormat = "mmm" 'Ceci formatera la date à "Jan" Range("C11").NumberFormat = "yy" 'Ceci formatera la date à "22" Range("C12").NumberFormat = "yyyy" 'Ceci formatera la date à "2022" Range("C13").NumberFormat = "dd-mm" 'Ceci formatera la date à "11-01" Range("C14").NumberFormat = "mm-yyy" 'Ceci formatera la date à "11-01" Range("C14").NumberFormat = "mm-yyy" 'Ceci formatera la date à "11-01".date à "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'Ceci formatera la date à "Jan-2022" Range("C16").NumberFormat = "dd-yy" 'Ceci formatera la date à "11-22" Range("C17").NumberFormat = "ddd yyyy" 'Ceci formatera la date à "Tue 2022" Range("C18").NumberFormat = "dddd-yyyy" 'Ceci formatera la date à "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm"Ceci formatera la date en "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" Ceci formatera la date en "Tuesday-January" End Sub 

Vue d'ensemble

4. insérer VBA pour formater la date dans une feuille de calcul spécifique dans Excel

Si vous souhaitez formater une date en fonction d'une feuille de calcul spécifique, vous devez d'abord définir le nom de la feuille de calcul dans le code, puis formater la date en fonction du type que vous souhaitez.

  • Ouvrir Éditeur Visual Basic de la Développeur et Insérer a Module dans la fenêtre de code.
  • Dans la fenêtre de code, copiez le code suivant et collez-le.
 Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") 'Définit la feuille de calcul nommée "Exemple" iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub 

Votre code est maintenant prêt à être exécuté.

Regardez la 3ème ligne du code où nous mettons d'abord le " Exemple "La date de cette feuille Excel est alors formatée.

Conclusion

Cet article vous a montré comment formater la date dans Excel avec VBA J'espère que cet article vous a été très utile. N'hésitez pas à me demander si vous avez des questions sur le sujet.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.