Changer l'ordre des termes dans une cellule

Atitoi -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à changer l'ordre des termes (ou le format:17 ->2017) dans une cellule sachant que ceux-ci ne sont pas reconnus comme un format de date par excel.

Concrètement, je veux remplacer ça 03/31/17 par 31/03/2017 en utilisant une macro.

Je ne peux pas faire Format--> Date --> mettre le bon format, il me faut une macro.

Merci d'avance!

B

4 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    exemple:
    Sub decal()
        TD = Split(Range("A1"), "/")
        Range("A2") = CDate(TD(1) & "/" & TD(0) & "/20" & TD(2))
    End Sub
    0
  2. Atitoi
     
    Merci beaucoup, ça fonctionne à merveille!
    En revanche, j'ai remplacé A2 par A1, pour que ça remplace dans la case direct.

    Petite question --> Comment faire pour que la macro se déroule sur les cellules d'en dessous?
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      je vous modifie ca
      adaptez le nom de feuille
      Sub decal()
          With Worksheets("feuil1")
              DerLig = .Range("A" & Rows.Count).End(xlUp).Row
              For N = 1 To DerLig
                  TD = Split(.Range("A" & N), "/")
                  .Range("A" & N) = CDate(TD(1) & "/" & TD(0) & "/20" & TD(2))
              Next N
          End With
      End Sub
      0
  3. Atitoi
     
    Vous êtes un génie --> et je n'y connais pas grand chose

    Merci!
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      je n'y connais pas grand chose
      Ca viendra
      0
  4. Atitoi
     
    en revanche, quand je l'intègre à une autre macro, ça bug un peu, il me dit 'erreur d’exécution 9' l'indice n'appartient pas à la sélection.

    Le code avant me permet de modifier toute une mise en page :

    Sub Mise_en_page()
    '
    ' Mise_en_page Macro
    '
    ' Touche de raccourci du clavier: Ctrl+Shift+M
    '
    Range("A:A,G:G,I:I,J:J,M:M,N:N").Select
    Range("N1").Activate
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Columns("D:D").Select
    Selection.Cut
    Columns("B:B").Select
    Selection.Insert Shift:=xlToRight
    Columns("D:D").Select
    Selection.Cut
    Columns("C:C").Select
    Selection.Insert Shift:=xlToRight
    Columns("G:H").Select
    Selection.Cut
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight
    Columns("F:F").Select
    Selection.Replace What:="Mrs", Replacement:="Mme", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Selection.Replace What:="Ms", Replacement:="Mme", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Selection.Replace What:="Mr", Replacement:="M", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Selection.Replace What:="M.", Replacement:="M", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Selection.Replace What:="Dr", Replacement:="M", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Range("A1").Select
    ActiveWorkbook.Save

    With Worksheets("feuil1")
    DerLig = .Range("D" & Rows.Count).End(xlUp).Row
    For N = 1 To DerLig
    TD = Split(.Range("D" & N), "/")
    .Range("D" & N) = CDate(TD(1) & "/" & TD(0) & "/20" & TD(2))
    Next N
    End With

    With Worksheets("feuil1")
    DerLig = .Range("E" & Rows.Count).End(xlUp).Row
    For N = 1 To DerLig
    TD = Split(.Range("E" & N), "/")
    .Range("E" & N) = CDate(TD(1) & "/" & TD(0) & "/20" & TD(2))
    Next N<code>

    End With

    End Sub
    </code>
    0
    1. Atitoi
       
      Désolé, fausse manip) de ma part, tout va bien!
      0
      1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > Atitoi
         
        Re
        Vous voyez, ça vient!
        0