changer date format par macro

pasquetp

XLDnaute Occasionnel
Bonjour,

j'ai un souci dans un fichier

les dates sont inscrites comme ci dessous ( des exemples) (le jour suivi du mois)

4/12
7/28

attention: ces données sont inscrite comme cela : ca ne vient pas d'un format de date américain (ces cellulles sont sous Format general)

il y a tellement de date que j'abandonne de faire le changement manuellement

auriez vous une idée pour transformer ces dates en JJ/MM/AAAA

Merci a tous et bonne soiree.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : changer date format par macro

Bonsoir pasquetp,

Une méthode à essayer:
Sélectionner la zone à convertir
Menu Données / Convertir
cocher Largeur fixe
cliquer sur suivant
cliquer sur suivant
cocher Date
dans la liste choisir le format de date :MJA
cliquer sur Terminer
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : changer date format par macro

Bonjour,

Préférez cette version v2 qui gère les sélections multiples et qui renvoie des résultats justes (enfin, je crois :rolleyes:).
VB:
Sub FormatDate()
Dim xarea As Range, x, n
  Application.ScreenUpdating = False
  For Each xarea In Selection.Areas
    For Each x In xarea
      If InStr(x, "/") > 0 Then
        On Error Resume Next
        n = IsDate(CDate(Mid(x, InStr(x, "/") + 1) & "/" _
            & Left(x, InStr(x, "/") - 1) & "/" & Year(Date)))
        If Err.Number = 0 Then
          x.NumberFormat = "dd/mm/yyyy"
          x.Value = x.Value
        End If
      End If
    Next x
  Next xarea
End Sub

v2b : idem v2 avec en plus : on ne touche pas aux cellules contenant une formule.
 

Pièces jointes

  • pasquetp - ForrmatDate - v2.xlsm
    17.3 KB · Affichages: 43
  • pasquetp - ForrmatDate - v2b.xlsm
    18.8 KB · Affichages: 40
Dernière édition:

Discussions similaires

Réponses
20
Affichages
2 K

Statistiques des forums

Discussions
312 097
Messages
2 085 257
Membres
102 844
dernier inscrit
atori2