XL 2010 Concaténer lignes en VBA

  • Initiateur de la discussion Initiateur de la discussion mic6259
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mic6259

XLDnaute Occasionnel
Bonjour
J'aimerais, selon le fichier joint, concaténer la ligne 2 en VBA dans la cellule F2 et conserver les cellules concaténées.
Puis créer un bouton
Ensuite faire la même chose pour la ligne 3 que je vais ajouter après.
J'ai cherché, en vain dans internet, je n'ai que concaténer par colonnes.
Merci beaucoup
 

Pièces jointes

Solution
Bonjour Mic,
Pas sur d'avoir tout compris. cependant un essai avec :
VB:
Sub Concatene()
    Dim DL%, L%, C%, N
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    For L = 2 To DL
        N = ""
        For C = 1 To 5
            N = N & Cells(L, C)
        Next C
        Cells(L, "F") = N
    Next L
End Sub
Bonjour Mic,
Pas sur d'avoir tout compris. cependant un essai avec :
VB:
Sub Concatene()
    Dim DL%, L%, C%, N
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    For L = 2 To DL
        N = ""
        For C = 1 To 5
            N = N & Cells(L, C)
        Next C
        Cells(L, "F") = N
    Next L
End Sub
 

Pièces jointes

Bonjour mic6259, sylvanu,

ton fichier en retour. 🙂 (j'ai ajouté un complément)

VB:
Sub Essai()
  Dim chn$, n&, i&, j As Byte
  n = Cells(Rows.Count, 1).End(3).Row
  Application.ScreenUpdating = 0
  For i = 2 To n
    chn = ""
    With Cells(i, 1)
      For j = 0 To 4
        chn = chn & .Offset(, j) & " ; "
      Next j
      .Offset(, 5) = Left$(chn, Len(chn) - 3)
    End With
  Next i
  ActiveCell.Select
End Sub

soan
 

Pièces jointes

@mic6259

j'ai dû m'absenter longtemps, et j'viens d'lire ton post #5.

ce que tu demandes est fait dans le fichier joint. 🙂

VB:
Sub Essai()
  Dim chn$, n&, i&, j As Byte
  n = Cells(Rows.Count, 1).End(3).Row
  Application.ScreenUpdating = 0
  For i = 2 To n
    chn = ""
    With Cells(i, 1)
      For j = 0 To 4
        chn = chn & .Offset(, j)
      Next j
      .Offset(, 5) = chn
    End With
  Next i
  ActiveCell.Select
End Sub

soan
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
465
Réponses
0
Affichages
131
Retour