Pb format date VB excel [Résolu/Fermé]

Signaler
-
Messages postés
17373
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
-
Bonjour,

J'ai un souci dans une macro excel.
J'extrais des données d'une base de données que je colle dans excel et une macro les traite ensuite.

Le problème que j'ai est que cette extraction donne les dates au format dd.mm.yy
J'aimerais les avoir au format dd/mm/yyyy

Il y a en fait 2 pbs:

Le premier est que l'année est représentée par 2 chiffres au lieu de 4. Les deux premiers chiffres doivent être 20 pour avoir une date au format dd/mm/20yy

Ensuite j'ai l'impression qu'excel ne comprend pas que les 2 premiers caractères sont des jours et non des mois. pour toutes les dates dont les jours sont supérieur à 12, le résultat n'est pas reconnu comme un date...

voici le code que j'ai... Si vous avez un conseil je suis preneur!


Range("K2").Select
Range(selection, selection.End(xlDown)).Select
selection.NumberFormat = "dd.mm.yy"
selection.Replace What:=".", Replacement:="/", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
selection.NumberFormat = "dd/mm/yyyy"


Merci d'avance!!

2 réponses

après de gros soucis sur les dates ou le jour est supérieur à 12, des essai avec datval(), j'ai trouvé ça.

Range("K2").Select
Range(Selection, Selection.End(xlDown)).Select
For Each c In Selection.Cells
c.Value = Mid(c, 1, 2) & "/" & Mid(c, 4, 2) & "/20" & Mid(c, 7, 2)
Next
Selection.NumberFormat = "dd/mm/yyyy"
Selection.HorizontalAlignment = xlRight

Si ca peut t'aider....
Messages postés
17373
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
15 juin 2021
4 643
Salut booby311,

Je te signale que tu as déjà ouvert une discution sur ce même problème et qui est suivi par plusieurs bénévolles. je te conseille de mettre une des deux en statut résolu et de suivre l'autre.

il serait d'ailleur intéressant que tu mettes un exemple de ton fichier quand il en est demandé un sur l'autre discussion

A+