Une macro pour concatener deux cellules en une seule et pouvoir recommencer

Bonjour,
Je suis nouveau mais je lis régulièrement le forum car parfois je suis à en déroute sur ce langage et macro Excel

J'ai un tableur excel avec macro

A la ligne D147 et suivantes j'ai une liste de noms (joueurs)

Je sélectionne 2 noms sur deux lignes différentes.

par un bouton ou un raccourci je concatène et envoie cet ensemble à partir de la la cellule D5

Si en D5 pour mes tests je mets la formule :

=CONCAT(D150;" - ";D153) le résultat est correcte.

Seulement au départ les deux cellules ne sont pas forcement celles-ci

Puis apres deux autres cellules etc

Cela pour remplir les cellules D5, D6 et suivantes. (je pense qu'avec une boucle for next je dois pouvoir incrémenter pour descendre d'une ligne)

Pour l'instant j'en suis resté à ma première phase et une seule cellule d'essai en D5 pour mes essai car je suis un petit dans les macros

voila mon premier jet

Sub concatSelection()
'j'ai trop de variable je verrai plus tard
    Dim c As Excel.Range, conc$, conca$, concat$
     Dim cell As Range

            conca = ""
            conc = ""

        For Each c In Selection
            'c.Value = c.Row
          conc = c

             If conca = "" Then
                conca = conc & " " & "-" & " "

             Else

                concat = conca & conc
                Range("D5").Value = concat
             End If
        Next c

End Sub

Maintenant je dois faire une boucle pour passer en D6 et suivant et aussi quand c'est fini de terminer ces saisies

Et j'oubliais il me faut désélectionner les cellules saisies auparavant

Bonjour

Voir la fonction JOINDRE.TEXTE

Dac merci je regarde demain

Mais l'incorporer dans la sélection de la macro c'est différent

Bonjour

Ce que j'ai fait là ça fonctionne

Peut etre il y a plus simple.

Sub concatSelection()
'j'ai trop de variable je verrai plus tard
    Dim c As Excel.Range, conc$, conca$, concat$
     Dim cell As Range
CI = 5
            conca = ""
            conc = ""

        For Each c In Selection
            'c.Value = c.Row
          conc = c

             If conca = "" Then
                conca = conc & " " & "-" & " "

             Else
                For CI = CI To 50
                    If Range("D" & CI) = "" Then
                      concat = conca & conc
                      'Range("D5").Value = concat
                      Range("D" & CI) = concat
                      Range("D" & CI).Select
                    Exit For
                     'Else
                     'CI = CI + 1
                End If
             Next CI
           End If
        Next c

End Sub
Rechercher des sujets similaires à "macro concatener deux seule pouvoir recommencer"