Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment concaténer avec séparateur les éléments d'une colonne

4 réponses
Avatar
kikoum
Bonjour,
Comment peut on r=E9cup=E9rer les adresses mails d'une colonne=20
et les concat=E9ner en y ins=E9rant une virgule comme=20
d=E9limiteur ? Ceci afin de construire les destinataires=20
d'un mail ?
Merci d'avance pour vos r=E9ponses.

4 réponses

Avatar
Pascal Engelmajer
Salut,
les adresses en colonne B
en A1 n'importe quoi ( "Courriel, xxxx, ...) pour servir de limite

Sub regroupe()
Dim resultat As String
Dim ptLig As Integer 'pointeur ligne
ptLig = Range("b65535").End(xlUp).Row
'après dernière ligne de la colonne B remplie
Do Until ptLig < 2
resultat = ""
Do Until Rows(ptLig).Cells(1).Text <> ""
resultat = Rows(ptLig).Cells(2).Text & "," & resultat
Rows(ptLig).Delete ' Shift:=xlUp
ptLig = ptLig - 1
Loop
resultat = Rows(ptLig).Cells(2).Text & "," & resultat
Rows(ptLig).Cells(2).Value = Left(resultat, Len(resultat) - 1)
ptLig = ptLig - 1
Loop
End Sub
voir le résultat cellule A2

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"kikoum" a écrit dans le message de news:
db7a01c43b60$20f45840$
Bonjour,
Comment peut on récupérer les adresses mails d'une colonne
et les concaténer en y insérant une virgule comme
délimiteur ? Ceci afin de construire les destinataires
d'un mail ?
Merci d'avance pour vos réponses.
Avatar
Philippe.R
Bonsoir,
En supposant sélectionnée la plage contenant toutes les adresses à concaténer, le code suivant inscrit
la chaîne dans la cellule située en haut à droite de la sélection :

Sub concat_moi_ca()
'MPFE le 16/05/2004
ActiveCell.Offset(, 1).Value = ActiveCell.Value
For i = 1 To Selection.Rows.Count
ActiveCell.Offset(, 1).Value = ActiveCell.Offset(, 1).Value _
& "," & ActiveCell.Offset(i, 0).Value
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"kikoum" a écrit dans le message de news:db7a01c43b60$20f45840$
Bonjour,
Comment peut on récupérer les adresses mails d'une colonne
et les concaténer en y insérant une virgule comme
délimiteur ? Ceci afin de construire les destinataires
d'un mail ?
Merci d'avance pour vos réponses.
Avatar
Philippe.R
Oups, celle ci est mieux :

Sub concat_moi_ca2()
'MPFE le 16/05/2004
ActiveCell.Offset(, 1).Value = ActiveCell.Value
For i = 1 To Selection.Rows.Count - 1
ActiveCell.Offset(, 1).Value = ActiveCell.Offset(, 1).Value _
& "," & ActiveCell.Offset(i, 0).Value
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Philippe.R" a écrit dans le message de
news:
Bonsoir,
En supposant sélectionnée la plage contenant toutes les adresses à concaténer, le code suivant inscrit
la chaîne dans la cellule située en haut à droite de la sélection :

Sub concat_moi_ca()
'MPFE le 16/05/2004
ActiveCell.Offset(, 1).Value = ActiveCell.Value
For i = 1 To Selection.Rows.Count
ActiveCell.Offset(, 1).Value = ActiveCell.Offset(, 1).Value _
& "," & ActiveCell.Offset(i, 0).Value
Next i
End Sub

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"kikoum" a écrit dans le message de news:db7a01c43b60$20f45840$
Bonjour,
Comment peut on récupérer les adresses mails d'une colonne
et les concaténer en y insérant une virgule comme
délimiteur ? Ceci afin de construire les destinataires
d'un mail ?
Merci d'avance pour vos réponses.




Avatar
Pascal Engelmajer
Salut,
quelque remarques :
Attention
cette procédure regroupe les adresses en supprimant les lignes sources
et regroupe suivant la colonne A

Sub regroupe()
Dim resultat As String
Dim ptLig As Integer 'pointeur ligne
ptLig = Range("b65535").End(xlUp).Row
'après dernière ligne de la colonne B remplie
Do Until ptLig < 2
resultat = ""
Do Until Rows(ptLig).Cells(1).Text <> ""
resultat = Rows(ptLig).Cells(2).Text & "," & resultat
Rows(ptLig).Delete ' Shift:=xlUp
ptLig = ptLig - 1
Loop
resultat = Rows(ptLig).Cells(2).Text & "," & resultat
Rows(ptLig).Cells(2).Value = Left(resultat, Len(resultat) - 1)
ptLig = ptLig - 1
Loop
End Sub


--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Pascal Engelmajer" a écrit dans le
message de news: #
Salut,
les adresses en colonne B
en A1 n'importe quoi ( "Courriel, xxxx, ...) pour servir de limite

Sub regroupe()
Dim resultat As String
Dim ptLig As Integer 'pointeur ligne
ptLig = Range("b65535").End(xlUp).Row
'après dernière ligne de la colonne B remplie
Do Until ptLig < 2
resultat = ""
Do Until Rows(ptLig).Cells(1).Text <> ""
resultat = Rows(ptLig).Cells(2).Text & "," & resultat
Rows(ptLig).Delete ' Shift:=xlUp
ptLig = ptLig - 1
Loop
resultat = Rows(ptLig).Cells(2).Text & "," & resultat
Rows(ptLig).Cells(2).Value = Left(resultat, Len(resultat) - 1)
ptLig = ptLig - 1
Loop
End Sub
voir le résultat cellule A2

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"kikoum" a écrit dans le message de news:
db7a01c43b60$20f45840$
Bonjour,
Comment peut on récupérer les adresses mails d'une colonne
et les concaténer en y insérant une virgule comme
délimiteur ? Ceci afin de construire les destinataires
d'un mail ?
Merci d'avance pour vos réponses.