Macro Excel : Convertion des dates en texte

Résolu
phil733 Messages postés 9 Statut Membre -  
 oozgr -
Bonjour à tout le monde,

Je voudrais convertir une colonne où il y a des dates (jj/mm/aaaa) en format texte dans une macro Excel.
Quand je le fais directement sous Excel, il n'y a aucun problème, mais quand je veux la faire exécuter dans une macro, le format se transforme en mm/jj/aaaa, donc format anglais et non français. Voici ma macro :

Columns("C:C").Select
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 2), TrailingMinusNumbers:=True

Que dois-je rajouter à ma macro pour qu'il l'exécute correctement, c'est à dire en jj/mm/aaaa, ou même soyons fou en jj/mm/aa

Merci d'avance pour vos réponses

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,
    Sub texte()
        Range("b1").NumberFormat = "@"
        Range("b1") = Format(Range("a1"), "dd/mm/yyyy")
    End Sub
    lami20j
    3
    1. phil733 Messages postés 9 Statut Membre
       
      Salut lami20j,

      Merci pour ta réponse. Avec ta réponse, j'ai pu me débrouiller pour trouver la solution.
      En fait voici la solution pour le faire sur une colonne, et non sur une cellule :


      Dim myRange As Range
      Dim myDate As Date

      Columns("C:C").Select
      For Each myRange In Selection
      If myRange.Value = "" Then
      Exit For
      Else
      myDate = myRange.Value
      myRange.NumberFormat = "@"
      myRange.Value = Format(myDate, "dd/mm/yyyy")
      End If
      Next

      Encore merci
      0
      1. karinegl44 > phil733 Messages postés 9 Statut Membre
         
        Salut Phil,

        J'ai bien le même problème que toi et j'ai essayé ta macro, mais il me marque une erreur d'éxecution '13', incompatibilité du type.

        Votre aide est la bioenvenue,

        Merci d'avance
        Karine
        0
  2. oozgr
     
    Bonjour,
    Je suis "rookie" en macro, mais j'ai utilisé ton macro (Nino ) pour mon problème .
    et quand j'ai fait un convertir de fichier CSV avec la code:

    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
    Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
    Array(7, 1), Array(8, 1), Array(9, 3), Array(10, 1))

    je ne sais pas ou il faut l'integrer ( dans une array ?)
    après convertir c'est trop tard, le format ne marche pas !

    Merci d'avance,
    oozgr
    2
  3. Nino
     
    Bonjour,

    En fait j'avais le meme problème, sur la premiere ligne de la collonne j'avai un titre donc il ne pouvai pas faire le changement de format et voici la solution:

    Dim myRange As Range
    Dim myDate As Date

    Range("C2:C400").Select 'Je commence ici à la 2ème ligne pour eviter la cellule C1 ou il y a du texte et pas une date
    For Each myRange In Selection
    If myRange.Value = "" Then
    Exit For
    Else
    myDate = myRange.Value
    myRange.NumberFormat = "@"
    myRange.Value = Format(myDate, "dd/mm/yyyy")
    End If
    Next

    ENJOY...
    Nino
    1