OVH Cloud OVH Cloud

concatener en vba

30 réponses
Avatar
andre
Bonjour,
j'aurais besoin d'un petit coup de main
dans un programme excel j'ai plusieurs lignes
de A1 a AZ (soit 51 col)
le but est de recuperer par concatener
la totalite des infos de ligne A1 ,
dans la cellule (ex A10)
ca doit ressembler a ceci :
("a1","a2",....."az");
voici un petit bout de code que j'ai trituré
Range("A4").Select
For x = 1 To 51 'derniere colonne = AZ donc 51
' concatener = (" & Cells(x, 1) & "," etc juqu'a AZ puis a la
derniere cellule ");
Next
voila si vous auriez une solution
je suis preneur
merci bon dimanche

--
André

10 réponses

1 2 3
Avatar
Péhemme
Teste ceci :

Sub Péhemme()
Dim ConcaLigne As String
Dim i As Integer
Dim j As Long
Dim R As Long
R = Cells(Rows.Count, 1).End(xlUp).Row

For j = 4 To R
For i = 1 To 51
ConcaLigne = ConcaLigne & Cells(j, i) & ","
Next i
MsgBox ConcaLigne
ConcaLigne = ""
Next j
End Sub

Bonne soirée
Michel


"andre" a écrit dans le message de groupe de discussion :
569be447$0$4574$

Le 17/01/2016, Péhemme a supposé :
Bonsoir André,

Une boucle du genre :
Dim Concaténer as String
For i = 1 To 52
Concaténer = Concaténer & .Cells(0,i) & ";"
Next i

À adapter.
Je n'ai rien testé.
Bonne soirée
Michel


bsr Michel
j'ai ce code qui fonctionne
Sub tabl_aray()
For x = 1 To 52 'derniere colonne = AZ donc 51
Cells(4, 1) = Cells(4, 1) & "" & "," & "" & Cells(1, x)
Next
For x = 1 To 52
Cells(5, 1) = Cells(5, 1) & "" & "," & "" & Cells(2, x)
Next
For x = 1 To 52
Cells(6, 1) = Cells(6, 1) & "" & "," & "" & Cells(3, x)
Next
End Sub
le probleme entre 2 valeurs je souhaite avoir : ","
et la ca bug

--
André
Avatar
andre
ma ligne terminée devrait ressemblér a ca
("toto","tata","tutu",etc.......,"titi");
donc tester la der cell pour mettre la terminologie

--
André
Avatar
andre
il ne se passe pas rien.....

--
André
Avatar
Péhemme
Mais si tu souhaites obtenir le texte entre " " en plus de la virgule
séparatrice, tu peux tester :
Sub Péhemme()
Dim ConcaLigne As String
Dim i As Integer
Dim j As Long
Dim R As Long
R = Cells(Rows.Count, 1).End(xlUp).Row

For j = 4 To R
For i = 1 To 15
ConcaLigne = ConcaLigne & """" & Cells(j, i) & """" & ","
Next i
MsgBox ConcaLigne
ConcaLigne = ""
Next j

End Sub

"Péhemme" a écrit dans le message de groupe de discussion :
n7gq5j$doe$

Teste ceci :

Sub Péhemme()
Dim ConcaLigne As String
Dim i As Integer
Dim j As Long
Dim R As Long
R = Cells(Rows.Count, 1).End(xlUp).Row

For j = 4 To R
For i = 1 To 51
ConcaLigne = ConcaLigne & Cells(j, i) & ","
Next i
MsgBox ConcaLigne
ConcaLigne = ""
Next j
End Sub

Bonne soirée
Michel


"andre" a écrit dans le message de groupe de discussion :
569be447$0$4574$

Le 17/01/2016, Péhemme a supposé :
Bonsoir André,

Une boucle du genre :
Dim Concaténer as String
For i = 1 To 52
Concaténer = Concaténer & .Cells(0,i) & ";"
Next i

À adapter.
Je n'ai rien testé.
Bonne soirée
Michel


bsr Michel
j'ai ce code qui fonctionne
Sub tabl_aray()
For x = 1 To 52 'derniere colonne = AZ donc 51
Cells(4, 1) = Cells(4, 1) & "" & "," & "" & Cells(1, x)
Next
For x = 1 To 52
Cells(5, 1) = Cells(5, 1) & "" & "," & "" & Cells(2, x)
Next
For x = 1 To 52
Cells(6, 1) = Cells(6, 1) & "" & "," & "" & Cells(3, x)
Next
End Sub
le probleme entre 2 valeurs je souhaite avoir : ","
et la ca bug

--
André
Avatar
Péhemme
Micro climat ?
Cela fonctionne chez moi.
Ou alors je n'ai pas compris ton problème.

Mon test :
http://www.cjoint.com/c/FArt0uEwGi0

Michel


"andre" a écrit dans le message de groupe de discussion :
569bed1e$0$3320$

il ne se passe pas rien.....

--
André
Avatar
Jacky
Bonjour andre,

ma ligne terminée devrait ressemblér a ca
("toto","tata","tutu",etc.......,"titi");





Séparé part " ' " ==> espace virgule espace
"-------------
Sub test()
Dim x As Long
Cells(4, 1) = ""
For x = 1 To 51 'derniere colonne = AZ donc 51
Cells(4, 1) = Cells(4, 1) & " , """ & Cells(1, x) & """"
Next
Cells(4, 1) = Mid(Cells(4, 1), 4, Len(Cells(4, 1)))
End Sub
'-------------

Ou séparé part " " ==> 1 espace
'-------------
Sub test2()
Dim x As Long
Cells(4, 1) = ""
For x = 1 To 51 'derniere colonne = AZ donc 51
Cells(4, 1) = Cells(4, 1) & """" & Cells(1, x) & """ "
Next
End Sub
'--------------
--
Salutations
JJ
Avatar
Jacky
Re..
,
Après relecture de tes différentes versions et demandes
Regarde ici
http://www.cjoint.com/c/FAsbX5Gwtlh
--
Salutations
JJ

Jacky a exposé le 18/01/2016 :
Avatar
andre
Jacky avait écrit le 18/01/2016 :
Re..
,
Après relecture de tes différentes versions et demandes
Regarde ici
http://www.cjoint.com/c/FAsbX5Gwtlh



Bonjour a tous
merci de vos idees
je ne pourai tester que l'apres midi
je reviendrai vous dire
bonne journée

--
André
Avatar
andre
Jacky a écrit :
Re..
,
Après relecture de tes différentes versions et demandes
Regarde ici
http://www.cjoint.com/c/FAsbX5Gwtlh



bonjour je viens de visualiser ton fichier
il correspond a mes besoins
c'est super
mais dis moi en exagerant (et c'est la der promis)
si je souhaite que la ligne concatenee commence par
( et se termine par );
que rajoute t'on au code
merci

--
André
Avatar
Jacky
Re..,
Tu veux dire tous les mots entre parenthèse
Avec quoi entre les mots ?
Les mots avec double cote ?
Comme ceci
("mot1","mot2","mot3"....."mot52")

--
Salutations
JJ

andre a exposé le 18/01/2016 :
Jacky a écrit :
Re..
,
Après relecture de tes différentes versions et demandes
Regarde ici
http://www.cjoint.com/c/FAsbX5Gwtlh



bonjour je viens de visualiser ton fichier
il correspond a mes besoins
c'est super
mais dis moi en exagerant (et c'est la der promis)
si je souhaite que la ligne concatenee commence par
( et se termine par );
que rajoute t'on au code
merci
1 2 3