Excel: Formater du text en date
Résolu
BILLING
Messages postés
162
Date d'inscription
Statut
Membre
Dernière intervention
-
BILLING Messages postés 162 Date d'inscription Statut Membre Dernière intervention -
BILLING Messages postés 162 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Quelle est la façon la plus simple de transformer dans Excel le contenu d'une cellule comme ceci: "Apr 3 2012 4:03PM" en format de date et heure?
Il y a plus de 1800 entrées comme ça. Est-ce possible de le faire facilement? Sans tout retaper?
Merci,
Quelle est la façon la plus simple de transformer dans Excel le contenu d'une cellule comme ceci: "Apr 3 2012 4:03PM" en format de date et heure?
Il y a plus de 1800 entrées comme ça. Est-ce possible de le faire facilement? Sans tout retaper?
Merci,
A voir également:
- Excel: Formater du text en date
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
12 réponses
Bonjour BILLING, Mike-31,
Pour transformer ta date ésotérique en date excel, je te propose de mettre cette fonction personnelle dans un module :
Pour l'appeler dans ta feuille, tu saisis : =vers_date(A1)
avec la date à transformer en A1 et mettre le format souhaité dans le résultat.
Si tu as des erreurs il faut peut-être rectifier la liste des mois anglais, car je suis loin d'être bilingue ;-)
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
Pour transformer ta date ésotérique en date excel, je te propose de mettre cette fonction personnelle dans un module :
Public Function vers_date(text) Dim elm As Variant, moi As Variant, i As Integer moi = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") elm = Split(text, " ") For i = 0 To UBound(moi) If moi(i) = elm(0) Then Exit For Next i If i < 12 Then vers_date = DateValue(elm(1) & "/" & i + 1 & "/" & elm(2)) + TimeValue(elm(3)) Else vers_date = "#DATE#" End If End Function
Pour l'appeler dans ta feuille, tu saisis : =vers_date(A1)
avec la date à transformer en A1 et mettre le format souhaité dans le résultat.
Si tu as des erreurs il faut peut-être rectifier la liste des mois anglais, car je suis loin d'être bilingue ;-)
Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
Salut,
Tes données se composent bien comme ton exemple, "Apr 3 2012 4:03PM"
entre quillemet Apr etc ...
la date 3 2012 4 correspond à quoi au 3/4/2012 ou 4/3/2012
les heures tu souhaites avoir ce format 4:03PM ou 24 heures et donc 16:03
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Tes données se composent bien comme ton exemple, "Apr 3 2012 4:03PM"
entre quillemet Apr etc ...
la date 3 2012 4 correspond à quoi au 3/4/2012 ou 4/3/2012
les heures tu souhaites avoir ce format 4:03PM ou 24 heures et donc 16:03
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Bonjour Mike-31
Non, il n'y a pas de guillemets dans la cellule, juste Apr 3 2012 4:03PM.
Idéalement, le format recherché serait comme suit: 3 avril 2012 4:03PM
Non, il n'y a pas de guillemets dans la cellule, juste Apr 3 2012 4:03PM.
Idéalement, le format recherché serait comme suit: 3 avril 2012 4:03PM
Re,
Re,
En relisant ton problème, j'avais compris pour Apr le problème est justement cet Apr ou April qu'Excel ne comprend pas sur sa version Française.
A part faire dans une colonne la liste des mois Anglais mais si ces mois sont abrégé comme Apr il faudra respecter une logique constante et pour les mois on combine une recherchev pour recomposer la date et on formate la cellule comme on veut
je regarde ça dans la soirée
Re,
En relisant ton problème, j'avais compris pour Apr le problème est justement cet Apr ou April qu'Excel ne comprend pas sur sa version Française.
A part faire dans une colonne la liste des mois Anglais mais si ces mois sont abrégé comme Apr il faudra respecter une logique constante et pour les mois on combine une recherchev pour recomposer la date et on formate la cellule comme on veut
je regarde ça dans la soirée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et si dans ma cellule j'avais ceci au lieu de ce que j'ai emtionné plus haut:
4/9/2012 11:11:29 AM
Est-ce plus simple à convertir en format date qu'Excel saura lire?
J'ai essayé en convertisasnt les / en - et ensuite appliqué le format mmmm-jj-aaaa hh":"mm":"ss mais ça ne fonctionne toujours pas. J'aurais cru qu'une fois inscrit comme ceci: 4-9-2012 11:11:29 AM le format se serait appliqué, mais non :-(
Excel n'est pas très intuitif pour les dates :-/
4/9/2012 11:11:29 AM
Est-ce plus simple à convertir en format date qu'Excel saura lire?
J'ai essayé en convertisasnt les / en - et ensuite appliqué le format mmmm-jj-aaaa hh":"mm":"ss mais ça ne fonctionne toujours pas. J'aurais cru qu'une fois inscrit comme ceci: 4-9-2012 11:11:29 AM le format se serait appliqué, mais non :-(
Excel n'est pas très intuitif pour les dates :-/
Re,
Oui mais la du coup tu saisis un format excel et il n'y a plus rien à modifier si ce n'est que le format
Tout dépend de tes données de base, si tu as Apr 3 2012 4:03PM il suffit de traiter Apr ou April idem pour les autres mois et le tour est joué, reste plus qu'a concatener les occurences pour en faire une date.
alors comment sont exactement tes données
Oui mais la du coup tu saisis un format excel et il n'y a plus rien à modifier si ce n'est que le format
Tout dépend de tes données de base, si tu as Apr 3 2012 4:03PM il suffit de traiter Apr ou April idem pour les autres mois et le tour est joué, reste plus qu'a concatener les occurences pour en faire une date.
alors comment sont exactement tes données
Bonjour Mike,
J'ai copier/collé ta fonction dans mon classeur. Je l'ai appelé avec =vers_date(A1) mais mon résultat est le suivant: #NOM?
La liste abrégée des mois anglais est parfaite, c'est pas là l'erreur. Je me demande si j'ai bien créé cette fonction. Je suis allée dans Visual Basic, copié/collé ta fonction tel quel, sauvegardé. Est-ce que j'ai manqué quelque chose?
J'ai copier/collé ta fonction dans mon classeur. Je l'ai appelé avec =vers_date(A1) mais mon résultat est le suivant: #NOM?
La liste abrégée des mois anglais est parfaite, c'est pas là l'erreur. Je me demande si j'ai bien créé cette fonction. Je suis allée dans Visual Basic, copié/collé ta fonction tel quel, sauvegardé. Est-ce que j'ai manqué quelque chose?
Mike, je te remercie pour tout tes efforts mais je dois abandonner.
Je me rends compte qu'à ce point-ci, il me manque beaucoup trop de notions sur les Macros pour pouvoir continuer.
Je reviendrai sans doute avec d'autres questions pour d'autres tâches mais celle-ci me dépasse. De plus, la personne qui m'a demandé de trouver une solution utilise mainteant un autre rapport qui lui permet d'accomplir ce qu'il veut.
Merci encore et desolée pour le temps perdu :-(
Je me rends compte qu'à ce point-ci, il me manque beaucoup trop de notions sur les Macros pour pouvoir continuer.
Je reviendrai sans doute avec d'autres questions pour d'autres tâches mais celle-ci me dépasse. De plus, la personne qui m'a demandé de trouver une solution utilise mainteant un autre rapport qui lui permet d'accomplir ce qu'il veut.
Merci encore et desolée pour le temps perdu :-(
Re,
il faudrait avoir ton fichier sous les yeux pour pouvoir te répondre avec précision sur l'erreur.
Si ton fichier ne contient pas de notes confidentielles (que tu peux masquer avec des toto, titi etc ) tu peux le mettre à notre disposition avec ce lien
https://www.cjoint.com/
il faudrait avoir ton fichier sous les yeux pour pouvoir te répondre avec précision sur l'erreur.
Si ton fichier ne contient pas de notes confidentielles (que tu peux masquer avec des toto, titi etc ) tu peux le mettre à notre disposition avec ce lien
https://www.cjoint.com/
Voici le lien
https://www.cjoint.com/?3Jqu0h5VmNt
Je ne crois que la fonction aie suivie parcontre.
Merci encore :-)
https://www.cjoint.com/?3Jqu0h5VmNt
Je ne crois que la fonction aie suivie parcontre.
Merci encore :-)
Bonjour BILLING, Mike,
Si tu nous avez donné ton "échantillon" dès le départ, cela fonctionnerait comme ici :
https://www.cjoint.com/?BJqxeGxA5Zj
Si tu nous avez donné ton "échantillon" dès le départ, cela fonctionnerait comme ici :
https://www.cjoint.com/?BJqxeGxA5Zj