Comment formater des dates correctement dans Excel ?

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, je vais vous montrer comment formater des dates dans Excel lorsque celles-ci ne sont pas reconnues en tant que telles. Nous apprendrons à automatiser la conversion de dates dans un format correct en un clic, ce qui est particulièrement utile lorsque vos données importées depuis une application tierce contiennent des dates mal formatées.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

 

Tutoriel Vidéo

 

 

1. Présentation

Pour illustrer ce tutoriel, nous pouvons utiliser l’exemple suivant, dans lequel sont reprises les commandes enregistrées par une entreprise :

Excel formation - text2date - 01

Dans cette base, chaque ligne représente une transaction avec des informations telles que le numéro de commande, le nom du client, les produits achetés et la date de la transaction. Ces données peuvent être utilisées pour analyser les performances de l'entreprise en termes de ventes, de délais de livraison et pour identifier les tendances saisonnières dans les achats des clients.

Cependant, nous pouvons remarquer une anomalie dans ces données : la date dans la base de données n'est pas dans le bon format. Elle ne comporte ni tiret ni symbole de barre oblique.

Pour résoudre ce problème, nous allons devoir utiliser une macro VBA pour convertir les dates en un format correct.

Une macro VBA (Visual Basic for Applications) est un ensemble d'instructions que nous rédigeons pour automatiser des tâches au sein d'Excel. Cette automatisation permet d'accomplir des opérations complexes et répétitives en un simple clic.

Si vous êtes novice en la matière, ne vous inquiétez pas, je vais expliquer chaque ligne de code en détail pour que tout le monde puisse suivre ce guide.

Toutefois, si vous souhaitez approfondir vos connaissances dans ce domaine et découvrir comment VBA peut révolutionner votre utilisation d'Excel, je vous invite à consulter mon livre intitulé « Apprendre le VBA » en cliquant sur ce lien. Ce livre vous permettra d'acquérir les bases du VBA et de comprendre comment il peut transformer votre manière de travailler avec Excel.

Maintenant, pour créer notre macro VBA, nous devons lancer l'éditeur VBA en utilisant le raccourci clavier [Alt]+[F11]. Cela ouvrira l'interface de développement VBA.

Cet éditeur nous permet d'écrire, de modifier et d'organiser nos macros VBA à l'intérieur d'un classeur Excel.

Ensuite, nous pouvons ajouter un nouveau module à notre projet en sélectionnant "Insérer" > "Module".

Un module de code représente une feuille sur laquelle nous écrirons les instructions pour la macro que nous sommes en train de créer. Chaque module peut contenir plusieurs macros, que nous pourrons organiser selon nos besoins.

Maintenant que le module a été correctement inséré dans le projet, nous sommes prêts à créer la macro qui permettra de nettoyer les caractères indésirables dans les cellules sélectionnées.

Pour cela, nous utilisons le mot-clé "Sub", suivi du nom de la macro que nous voulons créer :

Sub convertirColonneDate()
End Sub

Comme vous pouvez le constater, lorsque nous appuyons sur la touche [Entrée], la macro est créée, ce qui implique deux éléments importants ici :

  • Des parenthèses ouvrantes et fermantes sont ajoutées à la suite du nom de la macro. Nous verrons par la suite que ces parenthèses nous permettront de spécifier des arguments pour notre macro.
  • La ligne "End Sub" est également ajoutée. Cette ligne sert à clore notre macro. Ainsi, tout ce que nous inscrirons entre ces deux lignes sera automatiquement exécuté à chaque fois que nous invoquerons la macro.

Pour cette macro, l'objectif est de formater une plage de cellules contenant des dates au format JJ/MM/AAAA (jours/mois/année) en utilisant la fonction TextToColumns de VBA.

Pour cela, nous commençons par déclarer une variable nommée « plageDates » pour stocker la plage de cellules contenant les dates que nous souhaitons formater. Pour cela, nous la typons en tant que « Range », c’est-à-dire une plage de cellules :

   Dim plageDates As Range

Ensuite, nous allons lui affecter pour valeur les cellules sur lesquelles se trouvent les dates à corriger, ici les cellules D9 jusqu’à D16 :

Excel formation - text2date - 02

   Set plageDates = [D9:D16]

Nous utilisons la méthode "Set" pour spécifier cette plage de cellules, car la variable « plageDates » est un objet de type Range.

Pour finir, il ne reste plus qu’à utiliser la fonction « TextToColumns » de l’objet plageDates pour formater les dates dans la plage « plageDates ».

Ici, seul l'argument "FieldInfo" va nous intéresser. Celui-ci permet en effet de spécifier des informations sur la manière dont les données doivent être séparées et formatées lors de l'opération de découpage de texte en colonnes.

Dans cet argument, nous utilisons "FieldInfo:=Array(Array(1, xlDMYFormat))" pour définir le format de date que nous souhaitons appliquer lors de la séparation du texte en colonnes.

Il s’agit ici d’un tableau contenant des tableaux permettant de personnaliser chacune des colonnes.

Étant donné que la plage des cellules contenant les dates n’est composée que d’une seule colonne, le tableau principal n’est composé que d’un seul argument.

Ensuite, dans ce second tableau, le premier élément, "1", indique le numéro de colonne ou de champ que nous souhaitons formater. Dans ce cas, "1" représente la seule colonne de données dans la plage spécifiée. Le deuxième élément, "xlDMYFormat", spécifie le format de date que nous voulons appliquer à cette colonne. "xlDMYFormat" est une constante prédéfinie dans VBA qui représente le format jour-mois-année (JJ-MM-AAAA) pour les dates.

Et voilà, notre macro est maintenant terminée ! Il suffit de la lancer en revenant sur la feuille de calcul, puis en appuyant sur les touches [Alt]+[F8] pour afficher la boîte de dialogue de lancement des macros.

Nous sélectionnons ensuite la macro que nous venons de créer et pouvons la lancer en cliquant sur le bouton « Exécuter ».

Excel formation - text2date - 03

Les dates sont maintenant correctement formatées :

Excel formation - text2date - 04

 

 

 

 



Articles qui pourraient vous intéresser

Comment remplir automatiquement des cellules d'un tableau Excel avec la complétion automatique
Comment regrouper (ou pas !) les dates d’un tableau croisé dynamique (TCD) sur Excel ?
Comment connecter Excel sur Internet, sans VBA ?
Comment traduire automatiquement des fonctions Excel dans leur version originale ?
Comment analyser les résultats d’un sondage ou questionnaire avec Excel ?
Comment utiliser la fonction SOMME.SI pour effectuer des recherches sur des textes sur Excel ?
Comment calculer et étudier des écarts budgétaires avec Excel ?
Comment verrouiller et protéger un objet (graphique, image, zone de texte…) sur Excel ?
Comment formater des dates correctement dans Excel ?
Comment protéger le formatage des cellules tout en autorisant la saisie de données dans Excel ?
Comment transformer une photo en tableau Excel ?
Comment créer un publipostage automatique avec Excel ? (sans Word !)

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2024 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.