Envoyer email par VBA

Bonjour

voila j'ai un programme VBA qui fonctionne masi je voulais le modifier un peu

pour envoyer des message

voila j'ai une ligne qui est

MonMessage.To = "<aaaa@xxx.com>;bbbb <bbbb@xxx.com>;bbb <bbb@xxx.com>;cccc <cccc@xxx.com>;dddd <dddd@xxx.com>;eee <eee@xxx.com>; fff<fff@xxx.com>; ggg<ggg@xxx.com>;hhh <hhh@xxx.com>;" + Sheets("liste").Cells(517, 27).Value + ";" + Sheets("liste").Cells(517, 29).Value

cela fonctionne tres bien

je voudrais remplacer les email par email1.....email12

je pensais raouter dans la macro

Dim email1 As String, email2 As String, email3 As String, email4 As String, eamil5 As String, email6 As String, email7 As String, email8 As String, email9 As String, email10 As String, email11 As String, email12 As String
email1 = Sheets("Email").Cells(1, 1).Value
       email2 = Sheets("Email").Cells(1, 2).Value
       email3 = Sheets("Email").Cells(1, 3).Value
       email4 = Sheets("Email").Cells(1, 4).Value
       email5 = Sheets("Email").Cells(1, 5).Value
       email6 = Sheets("Email").Cells(1, 6).Value
       email7 = Sheets("Email").Cells(1, 7).Value
       email8 = Sheets("Email").Cells(1, 8).Value
       email9 = Sheets("Email").Cells(1, 9).Value
       email10 = Sheets("Email").Cells(1, 10).Value
       email11 = Sheets("Email").Cells(1, 11).Value
       email12 = Sheets("Email").Cells(1, 12).Value

Pour aller chercher dans ma feuille email les noms des personnes

comme cela si demain si je dois rajouter une personne cela m'éviter d'aller dans le programme

et a la place de ma ligne je voulais mettre les email1 ....

MonMessage.To = email1 + ";" +email2 + ";" +email3 + ";" + Sheets("liste").Cells(517, 27).Value + ";" + Sheets("liste").Cells(517, 29).Value

mais cela ne focntionne pas

quelqu'un peut m'aider

Bonjour,

Il se peut que le problème vienne de la manière dont les chaînes de caractères sont combinées. Dans VBA, on utilise généralement "&" pour concaténer des chaînes, plutôt que "+".

Voici comment vous pourriez reformuler votre ligne de code

MonMessage.To = email1 & ";" & email2 & ";" & email3 & ";" & Sheets("liste").Cells(517, 27).Value & ";" & Sheets("liste").Cells(517, 29).Value

Si vous utilisez un nombre d'adresses email variable, je recommande d'utiliser une approche plus dynamique, comme une boucle, pour ajouter les adresses email. Par exemple :

Dim email(12) As String
Dim emailTo As String
Dim i As Integer

For i = 1 To 12
    email(i) = Sheets("Email").Cells(1, i).Value
    emailTo = emailTo & email(i) & ";"
Next i

emailTo = emailTo & Sheets("liste").Cells(517, 27).Value & ";" & Sheets("liste").Cells(517, 29).Value

MonMessage.To = emailTo

Cette boucle va parcourir vos 12 adresses email, les ajouter à la chaîne emailTo et enfin ajouter les deux adresses de la feuille "liste".

Merci

ca fonctionne

Pas de souci !

Rechercher des sujets similaires à "envoyer email vba"