Je travail sur un fichier et je rencontre un petit soucis de code. j'ai enregistré une macro pour changer les . en / afin d'avoir un format en date. (Ex= 02.03 devient 02/03/19).
Mon soucis est que pour certaines dates le sens est inversé par exemple si j'ai le 01 Juin (01.06) lorsque je lance la macro j'obtiens 06/01/19 ce qui change toutes les informations de mon tableau.
Mais je ne sais pas comment l'adapter à ma macro ci-dessous, car je m'y connait pas trop en VBA, je sais enregistrer des macros mais pour le reste je bloque.
Quelqu'un pourrait-il m'aider à résoudre mon problème? Merci d'avance.
Code:
Sub format_date()
'
' format_date Macro
'
'
Cells.Replace What:=".", Replacement:="/", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub
Essayez le code suivant (à placer dans le module de la feuille à traiter):
VB:
Sub format_date()
Dim xrg As Range, xcell
On Error Resume Next: Application.ScreenUpdating = False
Set xrg = Cells.SpecialCells(xlCellTypeConstants, xlTextValues)
If xrg Is Nothing Then Exit Sub
xrg.NumberFormat = "dd/mm/yyyy"
For Each xcell In xrg: xcell.Value2 = CDate(Replace(xcell, ".", "/")): Next xcell
End Sub