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
andre
Jacky avait écrit le 18/01/2016 :
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")


oui JJ la chaine commence par (
et se termine par
); pour donner ceci
("mot1","mot2","mot3"....."mot52");
car apres ses lignes sont transferees par macro dans word enregistree
en .text puis transferees dans notepad++
pour etre enregistrée en .js pour donner
var dist = new Array("mot1","mot2","mot3"....."mot52");
tu vois
mais ceci dit tu m'as bien aidé merci beaucoup

--
André
Avatar
Jacky
Bonjour andre,
pour etre enregistrée en .js pour donner
var dist = new Array("mot1","mot2","mot3"....."mot52")


Alors celui-ci
'----------------------
Sub test3() 'virgule et parenthèse
Dim x As Long, i As Long
For i = 4 To 6
Cells(i, 1) = ""
For x = 1 To 52
Cells(i, 1) = Cells(i, 1) & """" & Cells(i - 3, x) & ""","
Next
Cells(i, 1) = "(" & Left(Cells(i, 1), Len(Cells(i, 1)) - 1) &
")"
Next
End Sub
'------------------------

--
Salutations
JJ
Avatar
DanielCo
Bonjour,
Dim Tabl As Variant
Tabl = Application.Transpose(Application.Transpose([A1:AZ1]))
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """)"
Cordialement.
Daniel

andre avait soumis l'idée :
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
Avatar
Jacky
Bonjour DanielCo,

Evidemment vu comme cela..;o)))
Je n'ai jamais (certainement à tort) utilisé Join()
Pas de boucle, 2 lignes de code, rapide....
Merci beaucoup pour cette info.

--
Salutations
JJ

DanielCo a exposé le 18/01/2016 :
Bonjour,
Dim Tabl As Variant
Tabl = Application.Transpose(Application.Transpose([A1:AZ1]))
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """)"
Cordialement.
Daniel

Avatar
andre
DanielCo a exprimé avec précision :
Bonjour,
Dim Tabl As Variant
Tabl = Application.Transpose(Application.Transpose([A1:AZ1]))
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """)"
Cordialement.
Daniel


et ceci pour finir en beauté
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """);"
Merci Jacky, Daniel,Pehemme, sans oublier Jacquouille

--
André
Avatar
Jacquouille
Hello Jacky
ça va toujours mieux après un petit joint.
-))


Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacky" a écrit dans le message de groupe de discussion :
n7il22$1m02$

Bonjour DanielCo,

Evidemment vu comme cela..;o)))
Je n'ai jamais (certainement à tort) utilisé Join()
Pas de boucle, 2 lignes de code, rapide....
Merci beaucoup pour cette info.

--
Salutations
JJ

DanielCo a exposé le 18/01/2016 :
Bonjour,
Dim Tabl As Variant
Tabl = Application.Transpose(Application.Transpose([A1:AZ1]))
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """)"
Cordialement.
Daniel





---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacky
Bonjour Jacquouille,

ça va toujours mieux après un petit joint.


Ca je n'en sais rien....
Je n'ai jamais utilisé ni l'un, ni l'autre.
;o))

--
Salutations
JJ

Jacquouille a exposé le 18/01/2016 :
Hello Jacky
ça va toujours mieux après un petit joint.
-))


Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacky" a écrit dans le message de groupe de discussion :
n7il22$1m02$

Bonjour DanielCo,

Evidemment vu comme cela..;o)))
Je n'ai jamais (certainement à tort) utilisé Join()
Pas de boucle, 2 lignes de code, rapide....
Merci beaucoup pour cette info.

--
Salutations
JJ

DanielCo a exposé le 18/01/2016 :
Bonjour,
Dim Tabl As Variant
Tabl = Application.Transpose(Application.Transpose([A1:AZ1]))
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """)"
Cordialement.
Daniel





---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacquouille
Héhé, moi non plus, mais de par mon ancienne profession, j'étais plus un
serre-joint. -))
Bonne fin de journée.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacky" a écrit dans le message de groupe de discussion :
n7ipdt$1toc$

Bonjour Jacquouille,

ça va toujours mieux après un petit joint.


Ca je n'en sais rien....
Je n'ai jamais utilisé ni l'un, ni l'autre.
;o))

--
Salutations
JJ

Jacquouille a exposé le 18/01/2016 :
Hello Jacky
ça va toujours mieux après un petit joint.
-))


Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Jacky" a écrit dans le message de groupe de discussion :
n7il22$1m02$

Bonjour DanielCo,

Evidemment vu comme cela..;o)))
Je n'ai jamais (certainement à tort) utilisé Join()
Pas de boucle, 2 lignes de code, rapide....
Merci beaucoup pour cette info.

--
Salutations
JJ

DanielCo a exposé le 18/01/2016 :
Bonjour,
Dim Tabl As Variant
Tabl = Application.Transpose(Application.Transpose([A1:AZ1]))
Cells(10, 1) = "(""" & Join(Tabl, """,""") & """)"
Cordialement.
Daniel





---
L'absence de virus dans ce courrier électronique a été vérifiée par le
logiciel antivirus Avast.
http://www.avast.com




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Avatar
Jacky
Re,
Oui....mais,pardonne moi,j'ai un tout petit peu menti.

La semaine dernière, j'ai acheté un joint.....
Il n'a fait tourner la tête que de la robineterie.
;o))
--
Salutations
JJ

Jacquouille a exposé le 18/01/2016 :
Héhé, moi non plus, mais de par mon ancienne profession, j'étais plus un
serre-joint. -))
Bonne fin de journée.

Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
Avatar
MichD
Bonjour,

Essaie ceci :

'-------------------------------------------
Sub test()
Dim T(), A As Long, Ligne As Long

Ligne = 1 'La ligne à concaténer

With Worksheets("Feuil1") 'nom feuille à adapter
For A = 1 To 51
ReDim Preserve T(1 To A)
T(A) = .Cells(1, A)
Next
'Choix de la cellule où tu veux afficher le résultat.
'La virgule est le séparateur entre les éléments
.Range("A2") = Join(T, ",")
End With

End Sub

'-------------------------------------------
1 2 3