Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 ).
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…