Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Concaténer colonnes entières avec virgule

polog57

XLDnaute Junior
Bonjour,

J'aimerais concaténer des colonnes d'emails afin de pouvoir faire rapidement des envois groupés.
J'ai réussi à concaténer la colonne B (voir pièce jointe) en D7 en faisant en D2=B2; puis B2=D2&B2.

Mon problème est que je n'arrive pas à introduire une virgule entre chaque adresse. J'ai plusieurs listes à traiter et cela devient très chronophage de les insérer manuellement.

J'aimerais aussi savoir s'il est possible de concaténer à la fois la colonne B+colonne C en insérant une virgule entre chaque adresse.

Merci pour votre aide
Cordialement
Paul
 

Pièces jointes

  • Fichier test conc mails.xlsx
    17.4 KB · Affichages: 10

jmfmarques

XLDnaute Accro
Bonjour
Je ne suis pas certain d'avoir bien deviné ce que tu veux dire (je n'ouvre jamais un classeur).
Si du as une donnée "toto" en A1 et une donnée "titi" en A2, la formule A1 & "," & A2 donnera "toto,titi"
 

cp4

XLDnaute Barbatruc
Je ne suis pas certain d'avoir bien deviné ce que tu veux dire (je n'ouvre jamais un classeur).
Bonjour Jmfmarques ,
Pourquoi donc tu n'ouvres jamais un classeur? Désolé de te dire que tu me rappelles certaines grosses d'un certain Forum.D'ailleurs que beaucoup de personnes ont quitté dont moi et d'autres membres de notre merveilleuse communauté qu'est XLD. Mais je respecte ton choix.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, polog57, cp4, jmfmarques

Un façon de faire en VBA (avec Join)
VB:
Sub Contatenation_col()
Dim vArr, concat$
vArr = Application.Transpose(Selection.Value)
concat = Join(vArr, ",")
Selection.Item(1).Offset(, 1) = concat
End Sub
Pour tester sélectionner les données dans la colonne puis exécuter la macro.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Et la même mais en fonction personnalisée.
VB:
Function COLCONCAT(vArr As Variant, Optional Séparateur As String = ",") As String
vArr = Application.Transpose(vArr)
COLCONCAT = Join(vArr, Séparateur)
End Function
Usage par exemple
=COLCONCAT(B3:B22)
ou
=COLCONCAT(B3:B22;"/")
(si on veut choisir le séparateur.)
 

jmfmarques

XLDnaute Accro
Mais je respecte ton choix.
Je t'en remercie.
Quant à moi, ce "choix" est beaucoup plus qu'un simple "choix"; il est une mesure de sécurité qui s'impose.
Je respecterai donc tes convictions (de non risque) mais elles ne sont pas les miennes. Et ce d'autant que j'ai eu l'occasion de montrer comment un classeur sans macros (voire un simple CSV importé par Excel ) pouvait être très malicieux. Je regrette que l' "on" (au "ailleurs" auquel tu sembles faire allusion) ait alors préféré faire disparaitre (et ce dans le plus grand silence) le message et la demo.
Ma position est on ne peut plus claire et simple : je n'ouvre aucun classeur. Ce faisant, je le dis afin que l'on comprenne pourquoi ma réponse ne peut être que limitée en l'absence d'un exposé technique clair d'une difficulté que l'on n'a su isoler. Voilà tout.
Amitiés.

PS :
Notons (analogie) qu'un premier ministre vient de justifier la non prise, bien plus tôt, de décisions drastiques par le fait que
"des médecins disaient qu'il ne s'agissait que d'une grippe"
, faisant dans la foulée totalement fi de constats pourtant faits et rapportés ailleurs.
 
Dernière édition:
Réactions: cp4

cp4

XLDnaute Barbatruc
Merci pour toutes ces explications. Je suis peut-être naïf et ne suis pas très calé en informatique.
Personnelement, je ne prends qu'une seule précaution scanné le fichier avec mon anti-virus (Kaspersky). Je me contente de ça. J'ai peut-être tort.
Je suis très curieux. Je voudrai donc consulter ta démo sur l'autre forum (mais est-ce qu'on fait allusion au même forum?!). Merci de mettre le lien.
Amitiés.
 

jmfmarques

XLDnaute Accro
Salut Staple
Et tu ne montres-là que le jeu "direct" du billard. Il y a plus complexe encore (effets - utilisation de la bande - ricochets - etc ...) pour faire en sorte que plusieurs cellules totalement disséminées finissent par agir "de concert".
Amitiés renouvelées.
 

Staple1600

XLDnaute Barbatruc
Re

[digression d'avant apéritif - oui je sais il est trop tôt]
C'était surtout pour attirer le "chaland" parce que je sentais un peu seul depuis le message#5
Déjà que je suis confiné en ma demeure.
Si en plus XLD me confine dans le spectre de l'invisible
Je vais devoir sortir mon attestation dérogatoire pour aller quérir dans la plus proche officine un anxiolytique allopathique (tout plein de cochoncetés
[/digression d'avant apéritif - oui je sais il est trop tôt]
 

Discussions similaires

Réponses
4
Affichages
546
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…