Concatener une plage de cellule

Malgven -  
Vahde Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerai concatener une plage de cellule sous excel afin que mes données contenues dans des cellules différentes soient regroupées dans une seule case et séparées par une virgule.
Mes données sont des nombres avec des décimaux séparés par un point (ex : 5.45) et j'aimerais qu'ils le restent dans le processus.

Je voulais faire une Inputbox pour sélectionner la plage de cellule que je veux fusionner en une mais je bloque complétement et je n'arrive pas à faire marcher cette macro !

Quelqu'un aurait une idée ?

Merci d'avance.

2 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Essaie comme cela
    Sub Test()
    Dim ref As Range, Cel As Range
    Dim Texte As String
    Set ref = Application.InputBox("Veuillez sélectionner les cellules sur la feuille", Type:=8)
    For Each Cel In ref
    Texte = Texte & Cel.Value & ", "
    Next Cel
    MsgBox "Valeurs concaténées : " & Left(Texte, Len(Texte) - 2)
    End Sub

    A+
    1
    1. Malgven
       
      Bonjour,

      Merci beaucoup de ta réponse !
      ça marche presque.
      En effet, du coup, j'obtiens le résultat dans la Box alors que j'aimerais qu'il soit dans une cellule pour pouvoir le copier-coller dans un autre logiciel.

      As tu (encore) une idée ?

      Merci !
      0
      1. Gyrus Messages postés 3360 Statut Membre 526 > Malgven
         
        Je n'ai pas indiqué le résultat dans une cellule parce que je ne sais pas dans quelle cellule tu souhaites le placer.

        Exemple avec le résultat dans A1 :
        Tu remplaces
        MsgBox "Valeurs concaténées : " & Left(Texte, Len(Texte) - 2)
        par
        Range("A1")=Left(Texte, Len(Texte) - 2)

        A+
        0
      2. Malgven > Gyrus Messages postés 3360 Statut Membre
         
        Oui ça marche merci beaucoup !

        Et pour faire en sorte que la box mette le résultat dans la cellule active ? :o
        0
      3. Gyrus Messages postés 3360 Statut Membre 526 > Malgven
         
        Activecell=Left(Texte, Len(Texte) - 2)

        Etonnant, non ?

        A+
        0
      4. Malgven > Gyrus Messages postés 3360 Statut Membre
         
        Pff ! C'est parfait !
        Merci beaucoup.
        Toute seule, je me suis vraiment rendue folle pour des solutions simples au final.

        Encore merci !
        0
  2. Vahde Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    Le sujet est un peu ancien mais j'aurais une question.
    J'aimerais à la place de mettre une "," entre les cellules concaténées, un saut de ligne ALT+ENTRÉE.

    Comment faire s'il vous plaît ?
    0