Tranformer une colonne remplie d'adresse email

Bonjour,

j'ai une colonne d'adresse email :

je souhaite copier toutes ces adresses dans une meme cellule, chacune séparées d'un point virgule, en vue d'envoyer en 1 fois un email a tout le monde.

comment faire?

merci

Bonsoir cascado,

Tu peux faire ça avec une macro, regarde l'exemple dans le fichier suivant :

https://www.excel-pratique.com/~files/doc2/mail_cascado.xls

Exemple à adapter à ton fichier

Bonsoir,

essaie avec ce code :

Range("B1").Value = Join(Application.Transpose(Range("A1:A" & [A65000].End(xlUp).Row)), ";")

cousinhub! tes interventions sont toujours d'aussi grande qualité!

Ton code est en effet plus rapide et beaucoup plus succint que le mien

Je mets cette fonction de côté.

Une petite question : pourquoi [A65000] et pas [A65536] ?

Bonjour,

Je ne suis pas sûr que Cousinhub puisse te répondre de suite (grand voyageur lui...) donc je m'incruste dans ce fil pour répondre à ta question.

Cela n'a d'importance que si tu as des données qui vont à la ligne 65001. Ce qui n'est surement pas le cas. Donc tu pourrais mettre un autre chiffre à la place tant qu'il est supérieur à la dernière ligne traitée.

La ligne 65536 représente la dernière ligne de ta feuille pour les version excel 2003 et avant. Il en va tout autrement avec excel 2007.

Tu peut donc mettre ceci :

Range("B1").Value = Join(Application.Transpose(Range("A1:A" & [A65536].End(xlUp).Row)), ";") 

ou ceci

Range("B1").Value = Join(Application.Transpose(Range("A1:" & Range("A65536").End(xlUp).Row)), ";") 

ou mieux

Range("B1").Value = Join(Application.Transpose(Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)), ";")

Dans ce dernier cas tu peux utiliser ce code dans toutes les versions.

Amicalement

Dan

Bonjour,

Bonjour Dan, et merci pour avoir pris le relais (le voyage est dans 3 semaines....)

Ultime précision, et pour finir le débat (du moins je le pense???)

Si ton fichier (2003) comporte effectivement 65536 lignes de remplies, les codes ci-dessus donneront : 1

pour éviter ce désagrément (bien rare, sauf en cas de traitement d'un fichier texte conséquent..), on peut utiliser cette syntaxe :

Columns(1).Find("*", , , , xlByRows, xlPrevious).Row

ce qui donnerait ce code :

Range("B1").Value = Join(Application.Transpose(Range("A1:A" & _
    Columns(1).Find("*", , , , xlByRows, xlPrevious).Row)), ";")

Maintenant, dans ce cas bien précis, je ne voudrais pas être le logiciel de messagerie....

Bonne journée

Bonjour Dan, cousinhub (un rapport avec oncle hub de micro hebdo??)

Merci pour ces tuyaux!

Cependant :

cousinhub a écrit :

pour éviter ce désagrément (bien rare, sauf en cas de traitement d'un fichier texte conséquent..), on peut utiliser cette syntaxe :

Columns(1).Find("*", , , , xlByRows, xlPrevious).Row

Peux-tu donner une petite explication STP?

Re-,

bonjour, vba_new

Dans l'éditeur VBE, tu entres le code..

Puis tu cliques au milieu de Find, et sur F1..

tu verras que la méthode Find possède plusieurs arguments..

expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Ces arguments sont expliqués dans l'aide (Nota, xlPrevious te donne la dernière valeur de la recherche)

Et pour être plus complet encore, on devrait mettre :

Columns(1).Find("*", , xlFormulas, xlPart, xlByColumns, xlPrevious).Row

afin de s'affranchir des précédentes recherches (Find garde en mémoire les anciens paramètres de recherche)

Re- merci cousinhub.

Encore une question, que signifie le "*" que tu cherches?

Re-,

une étoile * est un caractère générique......

qui peut remplacer n'importe quel caractère.....

Ok merci.

A+

Bonne soirée...

Merci

mais je n'y connais rien en VBA...

Il n'ya pas de formule adequates pour ca?.?

Bonjour

Pas de formule miracle sauf à écrire si les adresses ne sont pas trop nombreuses

=A2&";"&A3&";"&A4&";"&A5 (etc..)

ou pour beaucoup d'adresses, une petite manip

https://www.excel-pratique.com/~files/doc2/yd3JBClasseur5.xls

C'est quand même plus rationnel avec les codes qui t'ont été fournis, mais bon..

Cordialement

Rechercher des sujets similaires à "tranformer colonne remplie adresse email"