VB et les adresses mails

Fermé
romsec - 6 avril 2004 à 14:09
 romsec - 26 avril 2004 à 11:22
Bonjour,
Je veux envoyer un mail aux adresses de la colonne 13 copie les adresses de la colonne17.
Le CODE ci desssous permet d'envoyer les mails mais qd il recontre une cellule vide , ilr eprend la dernière adresse
De plus qd il recontre une nouvelle adresse , au lieu d'envoyer un mail à cette adresse , il l'ajoute à l'adresse précedent dans le même mail.
Si qqun pouvait me filer un coup de main , ce serait cool
Merci

Sub SendMails()
Dim obj As String
Dim mes As String
Dim myStr As String
Dim myStr1 As String
obj = InputBox("Objet du message")
mes = InputBox("Entrer le message")


For i = 5 To 100
If InStr(myStr, Trim(Cells(i, 13))) = 0 Then
myStr = myStr & Cells(i, 13) & ";"
If InStr(myStr1, Trim(Cells(i, 17))) = 0 Then
myStr1 = myStr1 & Cells(i, 17) & ";"
End If
End If

myStr = Left(myStr, Len(myStr))
myStr1 = Left(myStr1, Len(myStr1))
adresse = myStr
copie = myStr1
URLto = "mailto:" & adresse & "?subject=" & obj & "&body=" & mes & "&Cc=" & copie
ActiveWorkbook.FollowHyperlink Address:=URLto
Next
End Sub

21 réponses

Bonjour, j'ai écrit le code ci dessous pour envoyer automatiquement des mails à des adresses situés dans une colonne Excel.
Mais j'ai un message d'erreur car j'ai trop d'adresses.
J' ai donc fait 2 boutons pour séparer la liste d'adresse en 2,mais
si une adresse est présente dans la première partie de la colonne il la reprend dans le deuxième envoi.
Qd je n'avai qu'un mail il ne prenait pas les doublons ???
Premier code:

Sub MailsCciaux()
Dim obj As String
Dim mes As String
Dim myStr As String
For i = 3 To 82
If InStr(myStr, Trim(Cells(i, 11))) = 0 Then
myStr = myStr & Cells(i, 11) & ";"
End If
Next
myStr = Left(myStr, Len(myStr) - 1)
obj = InputBox("Objet du message")
mess = InputBox("Entrer le message")
adresse = myStr
URLto = "mailto:" & adresse & "?subject=" & obj & "&body=" & mess
ActiveWorkbook.FollowHyperlink Address:=URLto

End Sub

Deuxième code:

Sub MailsCciaux2()
Dim obj As String
Dim mes As String
Dim myStr As String
For i = 83 To 160
If InStr(myStr, Trim(Cells(i, 11))) = 0 Then
myStr = myStr & Cells(i, 11) & ";"
End If
Next
myStr = Left(myStr, Len(myStr) - 1)
obj = InputBox("Objet du message")
mess = InputBox("Entrer le message")
adresse = myStr
URLto = "mailto:" & adresse & "?subject=" & obj & "&body=" & mess
ActiveWorkbook.FollowHyperlink Address:=URLto

End Sub

Merci
0