Récupérer date en format texte sur une date en format US

3 réponses
Avatar
PLG
Bonjour à tous

Bah là, j'ai un hic ( non, non j'ai pas bu ! )
Issu d'une application ( foireuse ) je récupère dans une même colonne des
dates.
Là où c'est fort drôle, c'est que j'ai des dates au format date et format
français et.... j'en ai d'autres en format texte et en format US... (
5/28/2010 0:0) déroutant !
Le tout bien mélangé bien sur !
Après avoir enlever les 0:0...
La fonction CNUM() me renvoie une valeur d'erreur...
Votre mission si vous l'acceptez consiste à transcrire ce bête format en
format date et en version France... en fonctions de préférence.
Voilà... Mission possible ?
Ce message ne s'auto-détruira pas après l'avoir lu... ça m 'arrange.
Merci à l'agent spécial qui me résoudra mon problème.

A bientôt vous lire

3 réponses

Avatar
michdenis
Bonjour,

As-tu essayé quelque chose comme :
Tu adaptes le nom de la feuille et de la plage de cellules.

'-------------------------------------
Sub test()
Dim C As Range, X As Long
With Worksheets("Feuil1")
For Each C In .Range("A1:A5")
If IsDate(C) Then
X = CLng(CDate(C.Value))
C.NumberFormat = "DD/MM/YY"
C.Value = X
End If
Next
End With
End Sub
'-------------------------------------



"PLG" a écrit dans le message de groupe de discussion :

Bonjour à tous

Bah là, j'ai un hic ( non, non j'ai pas bu ! )
Issu d'une application ( foireuse ) je récupère dans une même colonne des
dates.
Là où c'est fort drôle, c'est que j'ai des dates au format date et format
français et.... j'en ai d'autres en format texte et en format US... (
5/28/2010 0:0) déroutant !
Le tout bien mélangé bien sur !
Après avoir enlever les 0:0...
La fonction CNUM() me renvoie une valeur d'erreur...
Votre mission si vous l'acceptez consiste à transcrire ce bête format en
format date et en version France... en fonctions de préférence.
Voilà... Mission possible ?
Ce message ne s'auto-détruira pas après l'avoir lu... ça m 'arrange.
Merci à l'agent spécial qui me résoudra mon problème.

A bientôt vous lire
Avatar
FFO
Salut à toi

Soit la colonne A les dates à mettre en format texte
Utilises ces lignes de code :

i = 1
Do While i < Range("A65535").End(xlUp).Row + 1
Range("A" & i) = Format(CDate(Range("A" & i)), "dd/mm/yyyy")
i = i + 1
Loop

Celà devrait fonctionner

Dis moi !!!!!
Avatar
PLG
Bonsoir

Je te remercie pour ta réponse et ton code.
Cela fonctionne.
Je te souhaite une bonne soirée
Encore merci
Pat

"FFO" wrote:

Salut à toi

Soit la colonne A les dates à mettre en format texte
Utilises ces lignes de code :

i = 1
Do While i < Range("A65535").End(xlUp).Row + 1
Range("A" & i) = Format(CDate(Range("A" & i)), "dd/mm/yyyy")
i = i + 1
Loop

Celà devrait fonctionner

Dis moi !!!!!