Date au format jjmmaaa (sans séparateur)
Résolu/Fermé
areskip
Messages postés
2
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
4 février 2014
-
4 févr. 2014 à 14:53
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 4 févr. 2014 à 18:48
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 4 févr. 2014 à 18:48
3 réponses
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
643
4 févr. 2014 à 16:13
4 févr. 2014 à 16:13
Bonjour,
voici une possibilité :
La variable jjmmaaaa contient la fameuse date. Il faut penser qu'en vba c'est un format anglais et donc les jours et les mois sont inversés.
Peut-être qu'avec l'instruction Format() il y a d'autres possibilités
voici une possibilité :
date_valide = CDate(Mid(jjmmaaaa, 3, 2) & "/" & Mid(jjmmaaaa, 1, 2) & "/" & Mid(jjmmaaaa, 5, 4))
La variable jjmmaaaa contient la fameuse date. Il faut penser qu'en vba c'est un format anglais et donc les jours et les mois sont inversés.
Peut-être qu'avec l'instruction Format() il y a d'autres possibilités
areskip
Messages postés
2
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
4 février 2014
Modifié par areskip le 4/02/2014 à 16:57
Modifié par areskip le 4/02/2014 à 16:57
Merci pilas31 !
J'ai du adapter car le zéro des jours ne s'affiche pas (1 et pas 01).
Ça donne ça :
size = Len(Cells(i, j))
If size = 8 Then date_valide = CDate(Left(Cells(i, j), 2) & "/" & Mid(Cells(i, j), 3, 2) & "/" & Right(Cells(i, j), 4))
If size = 7 Then date_valide = CDate(Left(Cells(i, j), 1) & "/" & Mid(Cells(i, j), 2, 2) & "/" & Right(Cells(i, j), 4))
Mais il y a peut être plus simple en affichant le premier zéro...
J'ai du adapter car le zéro des jours ne s'affiche pas (1 et pas 01).
Ça donne ça :
size = Len(Cells(i, j))
If size = 8 Then date_valide = CDate(Left(Cells(i, j), 2) & "/" & Mid(Cells(i, j), 3, 2) & "/" & Right(Cells(i, j), 4))
If size = 7 Then date_valide = CDate(Left(Cells(i, j), 1) & "/" & Mid(Cells(i, j), 2, 2) & "/" & Right(Cells(i, j), 4))
Mais il y a peut être plus simple en affichant le premier zéro...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
4 févr. 2014 à 18:48
4 févr. 2014 à 18:48
bonjour
avec la formule de Pilas31 que je salue
peut-^tre
avec la formule de Pilas31 que je salue
peut-^tre
jjmmaaaa = "04062014"
With Range("A1")
.Value = CDate(Mid(jjmmaaaa, 3, 2) & "/" & Mid(jjmmaaaa, 1, 2) & "/" & Mid(jjmmaaaa, 5, 4))
.NumberFormat = "dd/mm/yyyy"
End With