Excel : pb de format date lors d'extraction
Résolu
Larson
-
Alex -
Alex -
Bonjour à tous,
J'ai récupéré un tableau excel extrait d'un logiciel particulier (dont je ne connais ni le nom ni la nature) et je rencontre un problème étrange avec le format des dates : certaine sont au format français (jj/mm/aa) et d'autres sont au format anglais (genre 5-août-2006) mais le jour et le mois ont été inversés(devrait être 8-mai-2006 pour continuer sur le même exemple).
Conséquence : impossible d'uniformiser le format des dates, que j'ai manipulé en long en large et en travers.
J'ai juste réussi, en imposant un format anglais, à remettre les jours et mois dans le bon ordre pour les dates anglaises sans modifier les formats français. Reste que les dates anglaises sont au format jj/mm/aaaa et qu'il me les faudrait en jj/mm/aa et que je n'y arrive pas sans retomber sur le problème d'inversion jour/mois.
(le tableau fait plusieurs milliers de lignes et j'ai beaucoup de manipulation à effectuer dessus, donc impossible tant que je n'ai pas le bon format de date).
Bref, c'est vraiment un problème à la noix mais qui m'empêche de bosser.
J'espère avoir été suffisamment précis dans mes explications.
Voici un extrait du tableau : https://www.cjoint.com/?gzlEdaRN4R
(1ère colone : format d'origine ; 2ème colonne : modifié par mes soins, avec le jour et le mois dans le bon ordre).
Merci d'avance de votre aide.
Cordialement.
J'ai récupéré un tableau excel extrait d'un logiciel particulier (dont je ne connais ni le nom ni la nature) et je rencontre un problème étrange avec le format des dates : certaine sont au format français (jj/mm/aa) et d'autres sont au format anglais (genre 5-août-2006) mais le jour et le mois ont été inversés(devrait être 8-mai-2006 pour continuer sur le même exemple).
Conséquence : impossible d'uniformiser le format des dates, que j'ai manipulé en long en large et en travers.
J'ai juste réussi, en imposant un format anglais, à remettre les jours et mois dans le bon ordre pour les dates anglaises sans modifier les formats français. Reste que les dates anglaises sont au format jj/mm/aaaa et qu'il me les faudrait en jj/mm/aa et que je n'y arrive pas sans retomber sur le problème d'inversion jour/mois.
(le tableau fait plusieurs milliers de lignes et j'ai beaucoup de manipulation à effectuer dessus, donc impossible tant que je n'ai pas le bon format de date).
Bref, c'est vraiment un problème à la noix mais qui m'empêche de bosser.
J'espère avoir été suffisamment précis dans mes explications.
Voici un extrait du tableau : https://www.cjoint.com/?gzlEdaRN4R
(1ère colone : format d'origine ; 2ème colonne : modifié par mes soins, avec le jour et le mois dans le bon ordre).
Merci d'avance de votre aide.
Cordialement.
A voir également:
- Excel : pb de format date lors d'extraction
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
7 réponses
j'avais complètement plané tout à l'heure... vivement les vraies vacances!
Sub dater_fr() Dim derlig As Long derlig = Range("B65536").End(xlUp).Row For cptr = 3 To derlig If Application.IsNonText(Cells(cptr, 2)) Then Cells(cptr, 2) = CDate(Month(Cells(cptr, 2)) & "/" & Day(Cells(cptr, 2)) & "/" & Year(Cells(cptr, 2))) Else Cells(cptr, 2) = CDate(Cells(cptr, 2)) End If Next Range("B3:B" & derlig).NumberFormat = "dd/mm/yy;@" End Sub
Alléluia !
Ca fonctionne impec. Merci Michel.
Tu m'enverras ta photo pour la statue ; )
Bonne journée.
Ca fonctionne impec. Merci Michel.
Tu m'enverras ta photo pour la statue ; )
Bonne journée.
Bonjour
pour transformer cellule B6: 3-aout-2009 en 08/03/2009
=DATE(ANNEE(B6);JOUR(B6);MOIS(B6))
maintenant pour détecter le format fr ou uk, peut-^tre vba mais...
pour transformer cellule B6: 3-aout-2009 en 08/03/2009
=DATE(ANNEE(B6);JOUR(B6);MOIS(B6))
maintenant pour détecter le format fr ou uk, peut-^tre vba mais...
Bonjour
pour transformer cellule B6: 3-aout-2009 en 08/03/2009
=DATE(ANNEE(B6);JOUR(B6);MOIS(B6))
maintenant pour détecter le format fr ou uk, peut-^tre vba mais...
pour transformer cellule B6: 3-aout-2009 en 08/03/2009
=DATE(ANNEE(B6);JOUR(B6);MOIS(B6))
maintenant pour détecter le format fr ou uk, peut-^tre vba mais...
Bonjour Michel et merci,
J'avais pensé à cette solution, mais ça fait faire un bon paquet de copier-coller de la formule (même en étirant la formule avec le petit carré en bas à droite de la cellule).
Par contre je me rends compte que dans mon tableau, les formats UK sont systématiquement alignés à droite (les formats fr sont alignés à gauche). Peut-être une fonction excel de base ou une petite formule vba peut détecter ça ?
Merci d'avance.
J'avais pensé à cette solution, mais ça fait faire un bon paquet de copier-coller de la formule (même en étirant la formule avec le petit carré en bas à droite de la cellule).
Par contre je me rends compte que dans mon tableau, les formats UK sont systématiquement alignés à droite (les formats fr sont alignés à gauche). Peut-être une fonction excel de base ou une petite formule vba peut détecter ça ?
Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui,J'y avais pensé en buvant mon jus et puis...
sur le classeur que tu as joint
les dates fr sont du texte (=estexte(la cellule)) et les uk sont des nombres (=estnum(lacellule))
si c'est pareil sur ton original, une petite macro règlera l'affaire
donc, j'attends ta confirmation
sur le classeur que tu as joint
les dates fr sont du texte (=estexte(la cellule)) et les uk sont des nombres (=estnum(lacellule))
si c'est pareil sur ton original, une petite macro règlera l'affaire
donc, j'attends ta confirmation
Bon D..., mais c'est bien sûr!
C'était tout c... simple
dans une cellule vide dans ta page tu saisis 1
copier
tu sélectionnes ta colonnes de dates
edition -collage spécial- multiplier
dans déselectionner, tu mets au format date que tu veux (format-cellule-nombre)
C'était tout c... simple
dans une cellule vide dans ta page tu saisis 1
copier
tu sélectionnes ta colonnes de dates
edition -collage spécial- multiplier
dans déselectionner, tu mets au format date que tu veux (format-cellule-nombre)
Je pense avoir fait la manipulation correctement, mais après avoir mis en forme je me retrouve encore avec cette inversion jour/mois. Idem si je prends la colonne où j'ai déjà rectifié ça.
Qu'entends-tu quand tu dis "désélectionner" ?
J'ai essayé une formule du genre =si(estnum(cellule);date(annee(cellule);jour(cellule);mois(cellule));cellule)
Mais ça me change toutes mes dates (quand je me mets sur une date au format uk, elle s'affiche en numérique uniquement dans la barre de fonction).
Idem avec la fonction ESTTEXTE.
encore une fois, je coince...
Qu'entends-tu quand tu dis "désélectionner" ?
J'ai essayé une formule du genre =si(estnum(cellule);date(annee(cellule);jour(cellule);mois(cellule));cellule)
Mais ça me change toutes mes dates (quand je me mets sur une date au format uk, elle s'affiche en numérique uniquement dans la barre de fonction).
Idem avec la fonction ESTTEXTE.
encore une fois, je coince...