Luis reçoit les dates au format « 04C18 » où les deux premiers chiffres sont le jour, la lettre du milieu est le mois (A est janvier, B est février, C est mars, etc.) et les deux derniers chiffres sont les an. Il doit transformer ces dates codées en valeurs de date régulières avec lesquelles il peut travailler dans Excel.

La principale chose qui rend ce format de date non standard est l’utilisation du caractère alphabétique pour le mois. Donc, la première chose à faire est de savoir comment convertir ce caractère en un mois numérique. C’est là que la fonction CODE peut être utile; il renvoie le code ASCII du caractère. La lettre A renvoie la valeur 65, B renvoie 66, et ainsi de suite. Donc, tout ce que vous avez à faire pour convertir les lettres en chiffres 1 à 12 est d’utiliser quelque chose comme ceci:

=CODE(UPPER(MID(A1,3,1)))-64

La fonction UPPER est utilisée pour convertir le caractère du mois en majuscules, juste au cas où le code autoriserait les lettres minuscules pendant des mois.

Une autre façon de convertir les mois consiste à utiliser la fonction FIND, de cette manière:

=FIND(UPPER(MID(A1,3,1)),"ABCDEFGHIJKL",1)

Cette technique recherche le caractère dans la chaîne alphabétique et renvoie le décalage dans cette chaîne, de 1 à 12. Cette approche est préférable à utiliser si les lettres représentant les mois ne sont pas consécutives ou si elles sont une séquence décroissante.

Les deux méthodes de conversion des mois peuvent ensuite être utilisées dans une fonction DATE pour renvoyer une date basée sur une année, un mois et un jour. Cet exemple utilise la méthode CODE, mais vous pouvez tout aussi bien utiliser la méthode FIND:

=DATE(2000+RIGHT(A1,2),CODE(UPPER(MID(A1,3,1)))-64,LEFT(A1,2))

S’il est possible que les dates codées incluent des dates antérieures à 2000, l’utilisation de la fonction DATEVALUE pour assembler la date produira des résultats plus précis:

=DATEVALUE(CODE(UPPER(MID(A1,3,1)))-64&"/"&LEFT(A1,2)&"/"&RIGHT(A1,2))

Si vous utilisez l’approche DATEVALUE, sachez que la formule renvoie un numéro de série de date et que vous devrez formater la cellule pour afficher la date comme vous le souhaiteriez.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (7014) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Converting_Coded_Dates_into_Real_Dates [Conversion des dates codées en dates réelles].