Séparer les valeurs lors d'une concaténation en VBA

Bonjour j'espère que vous allez bien.

Voici mon fichier et le résultat que j'obtiens avec ce code :

Sub Bouton9_Cliquer()
DLigneC = Range("C1000000").End(xlUp).Row
DLigneD = Range("D1000000").End(xlUp).Row
DLigneE = Range("E1000000").End(xlUp).Row
DLigneF = Range("F1000000").End(xlUp).Row
Dligne = Application.Max(DLigneC, DLigneD, DLigneE, DLigneF)

Range("G3:G" & Dligne).Select
Selection.FormulaR1C1 = "=RC[-4]&RC[-3]&RC[-2]&RC[-1]"
End Sub

J'aimerais avoir ce résultat :

Title 1, Vendor1, Collection 1, Type1

Donc que les cellules concaténer soit espacé de ", "

Auriez vous une idée de comment faire s'il vous plait

Merci d'avance.

Cordialement.

image

Bonjour,

Sans macro, et avec une requête Power Query (pense à mettre à jour ta version d'Excel, afin qu'on sache si on ne se plante pas dans nos solutions)

PQ est natif depuis Excel 2016, et en Add-In pour 2010 et 2013 (gratuit, à télécharger sur le site de µSoft)

Merci de ta réponse, je vais regarder du côté de power querry, je ne sais actuellement pas m'en servir mais cela ne doit pas être sorcier !

Re-,

N'oublie pas, ta version Excel, stp....

Quant à :

....mais cela ne doit pas être sorcier !

Gros, Gros Joker...

Les possibilités sont immenses, le langage employé est d'une autre planète, mais il y a plein de tutos et autres exemples sur le www....

Bon courage

Ma version d'excel : Microsoft® Excel® pour Microsoft 365 MSO (Version 2209 Build 16.0.15629.20200) 64 bits

D'accord, mais faut mettre dans ton compte (regarde sous mon nom, j'ai ma version apparente)

Voilà c'est fait ! :)

Au cas où si quelqu'un à une réponse pour ma macro, pendant que je continue en parallèle à comprendre Power Querry ! :)

Bonne journée

Euh, 365 ou 2019?

Mea Culpa, c'est 365

Salut,

Si tu travailles avec un Tableau structuré tu pourras déjà t'affranchir de cela

DLigneC = Range("C1000000").End(xlUp).Row
DLigneD = Range("D1000000").End(xlUp).Row
DLigneE = Range("E1000000").End(xlUp).Row
DLigneF = Range("F1000000").End(xlUp).Row
Dligne = Application.Max(DLigneC, DLigneD, DLigneE, DLigneF)

Sinon tu dois utiliser la fonction de concaténation CONCAT d'Excel.

Donc tu passes ton tableau en TS et ensuite tu peux travailler dessus simplement, en admettant que tu sois sur la feuille 1

With Feuil1.Range("Tableau1[Tags]") ' // Ici la colonne Tags est prise en compte, toute la colonne
.Formula2R1C1 = "=CONCAT([@Title],  "", "", [@Vendor], "", "", [@Collection], "", "" , [@Type])"
End With

Voili, Voilou, Bonne prog

ps: A savoir que sur un tableau structuré les formules vont s'étendre automatiquement aux nouvelles lignes.

Bonjour à tous,

sur 365 tu as une fonction : JOINDRE.TEXTE(séparateur; ignorer_vide; texte1; [texte2]; …)
https://support.microsoft.com/fr-fr/office/joindre-texte-joindre-texte-fonction-357b449a-ec91-49d0-8...
eric

Rechercher des sujets similaires à "separer valeurs lors concatenation vba"