Format de date - inversion jour et mois

rin01

XLDnaute Nouveau
J'ai une macro chargée d'importer des données issues d'un fichier csv dont le contenu ressemble à :
Code:
1731;03/01/2011 09:52;03/01/2011 09:52;03/01/2011 10:22;
1788;07/01/2011 10:32;07/01/2011 10:32;07/01/2011 10:32;
2055;26/01/2011 15:00;26/01/2011 15:14;26/01/2011 15:28

A à la fin du traitement j'ai un problème sur le format de la date!
- 03/01/2011 est affichée comme 01/03/2011
- 07/01/2011 est affichée comme 01/07/2011
Pour les jours >= 12, il n'a pas de soucis.

Il y aurait donc une confusion entre formats US et FR...?

-> J'ai vérifié les options régionales de mon PC mais rien n'y fait
-> J'ai essayé de formater la colonne en précisant le format de la date sans succès
-> J'ai essayé de convertir la colonne en date JMA, sans résultat non plus

Visiblement c'est un problème connu, donc est-ce que quelqu'un a une solution pour afficher correctement ces dates au format français: JJ/MM/AAAA HH:MM

Merci à vous
 

Pierrot93

XLDnaute Barbatruc
Re : Format de date - inversion jour et mois

Bonsoir rin, Victor

@rin
il y a sans doute lien de préciser le format lors de l'importation du fichier source, montres nous le code utiliser....

@Victor
il eut été préférable que tu démarre une discussion... Pas trop sympa pour rin... Essaye ceci :
Code:
.Cells(dl, Int(ctl.Tag)) = CDate(ctl.Value)
bonne soirée
@+
 

rin01

XLDnaute Nouveau
Re : Format de date - inversion jour et mois

Bonjour Victor,

J'utilise la fonction

Code:
OpenText(FileName, Origin, StartRow, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, TextVisualLayout, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers, Local)

avec TextQualifier = xlTextQualifierNone

J'ai rattaché le code avec un fichier csv de test.

Merci
 

Pièces jointes

  • date_16fev.zip
    11.8 KB · Affichages: 62

Pierrot93

XLDnaute Barbatruc
Re : Format de date - inversion jour et mois

Bonjour,

essaye ceci, attention j'ai modifié le nom de ta variable "path" en "MonFichier", en effet "path" est un mot réservé vba, il est préférable de ne pas utiliser ces mots comme nom d'objet ou de variable... :

Code:
Dim MonFichier As String
    
MonFichier = Application.GetOpenFilename
    If Len(MonFichier) <= 0 Then Exit Sub
    If Len(Dir(MonFichier)) <= 0 Then Exit Sub
    
Workbooks.Open Filename:=MonFichier
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlNone, Semicolon:=True, FieldInfo:=Array(Array(1, 1), Array(2, 4), Array(3, 4), Array(4, 4))

bon après midi
@+

PS Merci à Victor d'avoir édité son message...
 

Pierrot93

XLDnaute Barbatruc
Re : Format de date - inversion jour et mois

Re,

Aarf, c'est vrai tu avais placé le code dans le module de la feuille, modifie comme suit :
Code:
Dim MonFichier As String
    
MonFichier = Application.GetOpenFilename
    If Len(MonFichier) <= 0 Then Exit Sub
    If Len(Dir(MonFichier)) <= 0 Then Exit Sub
    
Workbooks.Open Filename:=MonFichier
With ActiveSheet
    .Columns("A:A").TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlNone, Semicolon:=True, FieldInfo:=Array(Array(1, 1), Array(2, 4), Array(3, 4), Array(4, 4))
End With
 

rin01

XLDnaute Nouveau
Re : Format de date - inversion jour et mois

Voici le contenu de mon code
Code:
Private Sub CommandButton1_Click()
    Dim MonFichier As String
    MonFichier = Application.GetOpenFilename
    If Len(MonFichier) <= 0 Then Exit Sub
    If Len(Dir(MonFichier)) <= 0 Then Exit Sub
    
    Workbooks.Open Filename:=MonFichier
    Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlNone, Semicolon:=True, FieldInfo:=Array(Array(1, 1), Array(2, 4), Array(3, 4), Array(4, 4))
End Sub

J'obtiens une erreur '1004' Aucune donnée à convertir n'a été sélectionnée et j'ai la flèche jaune qui pointe sur
Code:
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlNone, Semicolon:=True, FieldInfo:=Array(Array(1, 1), Array(2, 4), Array(3, 4), Array(4, 4))
 

rin01

XLDnaute Nouveau
Re : Format de date - inversion jour et mois

Pourtant je pense que tout est bien paramétré dans les options (c.f copie d'écran)
Merci tout de même d'avoir pris le temps de m'aider.
 

Pièces jointes

  • screenshot005.jpg
    screenshot005.jpg
    50.3 KB · Affichages: 126
  • screenshot005.jpg
    screenshot005.jpg
    50.3 KB · Affichages: 132
  • screenshot005.jpg
    screenshot005.jpg
    50.3 KB · Affichages: 131

Discussions similaires

Réponses
2
Affichages
486

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088