Format de date

Bonjour,

j'ai un soucis avec un fichier xls que je récupère :

la date est du style 02.02.2010 jusqu'au 07.02.2010

si je fais un remplacer tout . par /

en mode utilisateur la date est bien au format français 02/02/2010, 03/02/2010 ....

par contre si je fais la même chose à partir d'une macro la date est interprétée

en 02/02/2010, 02/03/2010, 02/04/2010 ....

Cdt Tinnitus

-- 11 Sep 2010, 17:59 --

Le code dans la macro est celui ci:

Range("A35:A2606").Select

Selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:=False

Bonjour,

Dans le code tu dois utiliser l'instruction suivante :

Range("ref cellule")= format(date, "mm/dd/yy")

Si ok, n'oublie pas de cloturer le fil.

Amicalement

bonjour

Merci de ton aide , mais je dois louper qqchose car ça ne change rien.

En fait le format est bon , j'ai l'impression que c'est au moment du passage . vers /

qu'il fait l'interprétation qu'il veut.

@+

tinnitus

-- 11 Sep 2010, 19:07 --

Je viens de me rendre compte d'autre chose qui pourrait peut être vous mettre sur la piste:

sur un autre fichier avec des jour supérieurs à 12 ex 31.05.10

en mode direct le remplacement de . par / donne bien 31/05/2010

en macro il ne peut pas faire la conversion elle reste 31.05.10 ...

Cdt

Tinnitus

re,

Tes dates sont toutes au format texte. C'est là le souci je pense.

confirme moi que tes dates sur ta feuille sont bien comme ceci : ex 31.05.2010

Si non, dis moi comment elle sont au mieux mets ton fichier en ligne avec données non confidentielles.

Amicalement

oui c'est du texte,

ci joint un exemple de fichier

cordialement

Tinnitus

1474091003.zip (10.78 Ko)

Bonjour,

En utilisant la fonction "Convertir" du menu "Données" :

  • Sélectionne tes cellules concernées
  • Données/Convertir
- Étape 1 : Largeur Fixe

- Étape 2 : "Suivant"

- Étape 3 : dans les choix en haut, à droite, tu sélectionnes "Dates", et tu laisses "JMA" (Jour/Mois/Année)

"Terminer"

Comme tu auras lancé l'enregistreur de macro avant, tu obtiendras un code un peu similaire à celui-ci (optimisé pour la plage de cellules)

    Range("A35:A" & [A65000].End(xlUp).Row).TextToColumns Destination:=Range("A35"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 4), TrailingMinusNumbers:=True

Bon Dimanche

Rechercher des sujets similaires à "format date"