Forum vba excel concatenation
Jojo91
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
Je suis debutant en VBA et je viens vers vous car je dois realiser une concatenation.
je souhaite concatener une liste de donnees de A1 à A2000 en feuille 1.
Ma concatenation doit apparaire en B2 en feuilles 2. par contre je ne peux pas depasser les 50criteres par case. Donc creer une boucle pour mettre en Feuilles2!B2 la concatenantion Feuille1!A1"; "feuille1!"A2"..";".A50 et a 51 mettre en cellules B3 pour les 50critères suivant et de 101 a 150 en B4.....
J'espere que quelq'un pourra m'aider a faire mon programme. Si j'ai pas etait très clair n'hesitez pas a revenir vers moi pour plus d'explications.
Je suis debutant en VBA et je viens vers vous car je dois realiser une concatenation.
je souhaite concatener une liste de donnees de A1 à A2000 en feuille 1.
Ma concatenation doit apparaire en B2 en feuilles 2. par contre je ne peux pas depasser les 50criteres par case. Donc creer une boucle pour mettre en Feuilles2!B2 la concatenantion Feuille1!A1"; "feuille1!"A2"..";".A50 et a 51 mettre en cellules B3 pour les 50critères suivant et de 101 a 150 en B4.....
J'espere que quelq'un pourra m'aider a faire mon programme. Si j'ai pas etait très clair n'hesitez pas a revenir vers moi pour plus d'explications.
A voir également:
- Forum vba excel concatenation
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour,
certainement pas le plus simple,
certainement pas le plus rapide,
mais essayez ce code :
"Laissez-moi deviner... Votre surnom, c'est «Bande Passante»? "
- Le Tribunal des flagrants délires- P.Desproges -
certainement pas le plus simple,
certainement pas le plus rapide,
mais essayez ce code :
Sub Concatene_en_feuille2()
Dim concat As String
Dim cpt As Integer, lig As Integer, colB As Integer
colB = 1
For cpt = 1 To Sheets("Feuil1").Range("A65536").End(xlUp).Row Step 50
concat = ""
For lig = 0 To 49
concat = concat & Sheets("Feuil1").Cells(lig + cpt, 1)
Next lig
With Sheets("Feuil2")
.Cells(colB, 2) = concat
End With
colB = colB + 1
Next cpt
End Sub
"Laissez-moi deviner... Votre surnom, c'est «Bande Passante»? "
- Le Tribunal des flagrants délires- P.Desproges -
J'ai juste rajouter la mentions &"; " pour avoir mon separateur sinon ca me coller tout
ce qui donne
Sub test()
Dim concat As String
Dim cpt As Integer, lig As Integer, colB As Integer
colB = 1
For cpt = 1 To Sheets("Feuil1").Range("A65536").End(xlUp).Row Step 50
concat = ""
For lig = 0 To 49
concat = concat & Sheets("Feuil1").Cells(lig + cpt, 1) & "; " Next lig
With Sheets("Feuil2")
.Cells(colB, 2) = concat
End With
colB = colB + 1
Next cpt
End Sub
Est ce que on peut mettre en collone A a coté de chaque serie le mot "concatener1" puis en A3 "concatener2"... et colorer la case B2, B3 tant que la boucle est active?
merci d'avance.
Bien sur que l'on peux écrire concatenre1, 2 etc... et colorier les cellules colonne B :
Sub test() Dim concat As String Dim cpt As Integer, lig As Integer, colB As Integer colB = 1 For cpt = 1 To Sheets("Feuil1").Range("A65536").End(xlUp).Row Step 50 concat = "" For lig = 0 To 49 concat = concat & Sheets("Feuil1").Cells(lig + cpt, 1) & "; " Next lig With Sheets("Feuil2") .Cells(colB, 1) = "Concatener " & colB 'écris "concatener 1" , 2 , 3 etc.. en col A .Cells(colB, 2) = concat If colB + 1< 57 Then 'il existe 57 couleurs en Excel, 1 est à éviter car noir! .Cells(colB, 1).Interior.ColorIndex = colB + 1 End If End With colB = colB + 1 Next cpt End Sub