Format date en Français

Le
Alf
Bonjour à tous,
J'espère que vous vous portez bien par ces temps de pandémie.

Un sujet qui a dû être traité des milliers de fois, mais bon=
, je repose la question.

Dans une cellule, j'ai une valeur "09/04/2020 16:36:56" en format jj/mm/aa=
aa hh:mm.
En VBA, je prends les 10 1ers caractères que j'affecte à une autr=
e cellule en format date.
J'obtiens toujours le format US 04/09/2020.

Comment retrouvé le format Français ?
Je peux travailler la date et la réorganiser mais c'est trop fastidieu=
x.

Merci pour votre aide
Alf
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26545133
Le 01/05/20 à 01:43, Alf a écrit :
Bonjour à tous,
J'espère que vous vous portez bien par ces temps de pandémie.
Un sujet qui a dû être traité des milliers de fois, mais bon, je repose la question.
Dans une cellule, j'ai une valeur "09/04/2020 16:36:56" en format jj/mm/aaaa hh:mm.
En VBA, je prends les 10 1ers caractères que j'affecte à une autre cellule en format date.
J'obtiens toujours le format US 04/09/2020.
Comment retrouvé le format Français ?
Je peux travailler la date et la réorganiser mais c'est trop fastidieux.
Merci pour votre aide
Alf


Bonjour,
Lorsque tu extrais seulement les 10 premiers caractères, tu obtiens une
valeur "TEXTE". En VBA, tout ce qui ressemble à une date est au format
américain MM / JJ / YY sauf pour les dates dont le jour est plus grand
que 12, car Excel comprend qu'il ne peut pas y avoir plus de 12 mois
dans une année et par conséquent, tu obtiens un format : jj/MM/aa.
Voici une manière de procéder :
'-------------------------------------------
Sub test()
'Une variable As Date prend le format court
'du panneau de configuration de Windows.
'dans mon cas le format est : JJ/MM/AA
Dim D As Date
'En A1 : La valeur initiale : 01/05/20 5:52
'Le format de la variable D est le même : JJ/MM/AA
D = Range("A1")
With Range("D1") 'Obtenir seulement la date
'Si le panneau de configuration a un autre format
'que ceci : "DD/MM/YY", tu ajoutes cette ligne sinon
'elle n'est pas obligatoire!
.NumberFormat = "DD/MM/YY"
'Pour extraire la date seulement sans les h:MM
.Value = DateSerial(Year(D), Month(D), Day(D))
End With
End Sub
'-------------------------------------------
MichD
Péhemme
Le #26545132
Bonjour,
Un truc comme ça ? :
Sub TestFormat()
Dim Var As Date
Var = Range("B5")
With Range("D5")
.NumberFormat = "dd/mm/yyyy;@"
.Value = Var
End With
End Sub
Michel
"Alf" a écrit dans le message de groupe de discussion :

Bonjour à tous,
J'espère que vous vous portez bien par ces temps de pandémie.
Un sujet qui a dû être traité des milliers de fois, mais bon, je repose la
question.
Dans une cellule, j'ai une valeur "09/04/2020 16:36:56" en format
jj/mm/aaaa hh:mm.
En VBA, je prends les 10 1ers caractères que j'affecte à une autre cellule
en format date.
J'obtiens toujours le format US 04/09/2020.
Comment retrouvé le format Français ?
Je peux travailler la date et la réorganiser mais c'est trop fastidieux.
Merci pour votre aide
Alf
MichD
Le #26545139
Bonjour Péhemme
Si je peux me permettre
Ce que tu proposes affiche effectivement le résultat dans la cellule au
format "JJ/MM/AAAA". Je te fais cependant remarquer que le contenu de la
cellule inclus la valeur décimale des H:MM:SS même s'il le format ne les
affiche pas. Par conséquent, la cellule ne contient pas seulement la
date, mais la date + heures minutes secondes même si le format est bien
JJ/MM/AAAA. Pour prouver mes propos, affiche le contenu de la cellule D1
au format "Standard". Tu verras la section décimale représentant les
H:MM:SS. C'est une subtilité, mais cela dépend ce que le demandeur
désire réellement!
MichD
Péhemme
Le #26545154
Bonjour Denis,
Si je peux me permettre

Avec moi, tu peux tout te permettre
;-))
J'avais compris que le demandeur souhaitait obtenir un format texte dans la
mesure où il "prenait les 10 1ers caractères".
Par ailleurs il ne précisait pas ce qu'il souhaitait faire du résultat
obtenu et le temps de rédiger ma réponse tu avais déjà dégainer.
Il faut que j'apprenne à être plus rapide du clavier :-)))
En tous cas, merci de ta précision et n'hésite pas, c'est toujours un
plaisir
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
r8h0rq$1up9$
Bonjour Péhemme
Si je peux me permettre
Ce que tu proposes affiche effectivement le résultat dans la cellule au
format "JJ/MM/AAAA". Je te fais cependant remarquer que le contenu de la
cellule inclus la valeur décimale des H:MM:SS même s'il le format ne les
affiche pas. Par conséquent, la cellule ne contient pas seulement la
date, mais la date + heures minutes secondes même si le format est bien
JJ/MM/AAAA. Pour prouver mes propos, affiche le contenu de la cellule D1
au format "Standard". Tu verras la section décimale représentant les
H:MM:SS. C'est une subtilité, mais cela dépend ce que le demandeur
désire réellement!
MichD
Publicité
Poster une réponse
Anonyme