format date

sarrsouraa

XLDnaute Occasionnel
bonjour tout le monde
je recupere une date d'un autre fichier et elle est sous ce format
2010-04-14T22:00:00Z
ya t il un moyen de changer cette valeur en 14-04-2010 j'ai essayer CDate mais ca donne rien
merciiiiiiiii de m aider
 

job75

XLDnaute Barbatruc
Re : format date

Bonjour sarrsouraa, salut rafou29,

Ceci vous donnera peut-être quelques idées :

Code:
Sub TestDate()
Dim x$, d As Date
x = "2010-04-14T22:00:00Z"
d = Left(x, 10) 'd est une date
MsgBox d
MsgBox Format(d, "dd-mm-yyyy") 'c'est un texte
End Sub

Bien sûr on peut se passer de VBA avec une formule utilisant des STXT dans une cellule...
 

ROGER2327

XLDnaute Barbatruc
Re : format date

Bonjour sarrsouraa
Une fonction personnalisée fera l'affaire :
Code:
[COLOR="DarkSlateGray"][B]Function ISO_WIN&(t$)
   Application.Volatile
   ISO_WIN = CDate(Split(t, "T")(0))
End Function[/B][/COLOR]
A3 contenant 2010-04-14T22:00:00Z, =ISO_WIN(A3)
renvoie 40282 dans une cellule au format Standard ou 14-04-2010 dans une cellule au format "jj-mm-aaaa".​
ROGER2327
#3138
 

job75

XLDnaute Barbatruc
Re : format date

Salut Roger :)

Bien d'accord sur la fonction VBA, mais comme je le disais, dans une cellule :

=STXT(A1;9;2)&"-"&STXT(A1;6;2)&"-"&GAUCHE(A1;4) => si l'on veut du texte

=1*(STXT(A1;9;2)&"-"&STXT(A1;6;2)&"-"&GAUCHE(A1;4)) => si l'on veut une date (nombre)

Edit : mieux pour la 2ème formule => =DATE(GAUCHE(A1;4);STXT(A1;6;2);STXT(A1;9;2))

Plus on se passe de VBA mieux on se porte :D

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : format date

Re,

Eh bien voyez-vous Roger, je n'avais jamais testé DATEVAL avec ce format, je pensais qu'il fallait un format "classique", dans le bon ordre.

Tant qu'on y est :

=DATEVAL(GAUCHE(A1;10))

Franchement mieux que du VBA, non ?

A+
 

ROGER2327

XLDnaute Barbatruc
Re : format date

Re...
Je suis un adepte de l'aide d'Excel, qui dit, entre autres choses toutes plus passionnantes les unes que les autres :
DATEVAL(date_texte)

date_texte représente le texte permettant de renvoyer une date dans n'importe quel format de date de Microsoft Excel.

Quant à l'intérêt plus ou moins grand du calcul direct par formule intégrée ou du recours au calcul étendu par VBE, je n'ai pas d'avis dogmatique. Tout est affaire de contexte. Vous remarquerez d'ailleurs que mes contributions à ce forum jouent sur les deux tableaux, en fonction des problèmes et, je l'avoue, de l'humeur de l'instant.

Ce qui est certain, c'est que =DATEVAL(GAUCHE(A1;10)) est plus simple que =DATEVAL(STXT(A1;1;10)). Bravo !​
ROGER2327
#3143
 

Discussions similaires

Statistiques des forums

Discussions
312 779
Messages
2 092 047
Membres
105 169
dernier inscrit
izarabooki