Monsieur Excel
Pour tout savoir faire sur Excel !

07 septembre 2007

Transformation de texte en date

Un lecteur me demandait récemment comment il pouvait entrer des dates sous la forme jjmmaaaa (comme en A1 ci-dessous) et récupérer dans une autre cellule la date correspondante.

J’ai pour cela entré en B1, puis recopié vers le bas, la formule :
=date(droite(A1;4);stxt(A1;3;2);gauche(A1;2))

Cela fonctionne très bien quand la date est entrée sous la forme de texte, comme c’est le cas dans la cellule A1.

Quand elle est entrée directement, comme je l’ai fait en A2 et A3 (dans ce dernier cas, la cellule a reçu le format personnalisé 00000000), on obtient un résultat erroné dans la colonne B car les deux caractères utilisés pour le mois et pour le quantième sont faux car le 0 à gauche, quand on saisit le nombre, est ignoré par Excel. On obtient alors le 61ème jour de février qui, en 2007, tombe le 2 avril !

Il faut donc absolument saisir cette date sous la forme de texte, par exemple en la faisant précéder d’une apostrophe, pour que la formule donne le bon résultat.

3 Commentaire(s):

  • Bonjour,

    J'ai une formule, un peu alambiquée, mais qui marche quel que soit le cas :
    =DATE(DROITE(TEXTE(A1;"00000000");4);DROITE(GAUCHE(TEXTE(A1;"00000000");4);2);GAUCHE(TEXTE(A1;"00000000");2))

    Bonne journée.

    By Anonymous Anonyme, sur 9:10 AM  

  • Certes, mais cette formule deviendrait encore bien pire si vous vouliez aussi vérifier que le contenu de A1 est entièrement numérique et ne dépasse pas huit caractères !

    La solution de mettre l'apostrophe au début est en effet plus simple...

    By Blogger Hervé Thiriez, sur 9:54 AM  

  • on peut aussi utiliser la fonction Données, Convertir. Très pratique, et plutôt bluffante.

    By Blogger Steph, sur 12:19 PM  

Enregistrer un commentaire

<< Accueil