Problème envoi email a plusieurs destinataire et cellule sans valeurs

bonjour

J'ai un problème avec l'envoi d'un mail a plusieurs destinataires "un mail par destinataire" . dans la colonne "U9:U34" il y a une formule qui inscrit l'adresse email en fonction du nom en colonne "A9:A34". mon code VBA fonctionne bien avec une boucle mais le soucis est que même si la case en colonne "U" est vide, un mail est tout de même généré . j'aimerai que dans ma boucle, il y ai une condition qui dit que si la cellule est nulle "et non vide" la boucle passe à la cellule suivante. ppuvez vous m'aider SVP.

Bonjour Francky,

Je suppose que tu devrais t'en sortir avec un simple test du genre :

if not isempty(contenu de la cellule Ux) Then

merci pour t'a réponse. J'ai trouvé cette solution:

If .Cells(i, 1) <> "" Then

mais j'aurais préféré une solution du genre:

si le mot de la cellule contient la lettre @ alors exécute le code. ça permettrait d'identifier une adresse email " au moins partiellement" dans la cellule au cas où il y aurait autre chose qu'une adresse email dans la cellule.

j'ai testé t'a solution et elle fonctionne parfaitement

If Not IsEmpty(Cells(i, 1)) Then

Bonjour le fil et le Forum,

pour vérifier que le contenu de la cellule contient le signe @ suivi d'un point

If .Cells(i,1) Like "?*@?*.?*" Then
....

Cordialement

Bon j'ai copier votre formule "If .Cells(i,1) Like "?*@?*.?*" Then" et quand j'exécute la macro, il ne se passe rien.

Bonjour,

merci de poster le code complet utilisé sans succès

et voilà

Sub mail()

Dim i As Long, Derlg As Long
Dim OutlookApp As Object, OutlookMail As Object
Dim admail As String

With Sheets("sorties")
.Activate
Derlg = .Range("T" & .Rows.Count).End(xlUp).Row

For i = 9 To Derlg

'If .Cells(i, 1) <> "" Then " fonctionne correctement si activé"
If Not IsEmpty(Cells(i, 1)) Then "fonctionne correctement si activé"
'If .Cells(i, 1) Like "?*@?*.?*" Then "si activé rien ne se passe"


admail = .Range("T" & i)

Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)

With OutlookMail


.To = admail
.Subject = Sheets("sorties").Range("W5").Value
.Body = Sheets("sorties").Range("W8").Value
.Display
'.Send
End With
End If
Next i
End With
End Sub

Bonjour franckythebest, salut le Forum

voici le code modifié, l'adresse email est dans la colonne T, donc la vingtième colonne (dans ton premier post tu avais dit dans la colonne U)

Sub mail()

'https://forum.excel-pratique.com/excel/probleme-envoi-email-a-plusieurs-destinataire-et-cellule-sans-valeurs-195437

Dim i As Long, Derlg As Long
Dim OutlookApp As Object, OutlookMail As Object
Dim admail As String

With Sheets("sorties")
.Activate
Derlg = .Range("T" & .Rows.Count).End(xlUp).Row

For i = 9 To Derlg

If .Cells(i, 20) Like "?*@?*.?*" Then '<<==== 20ème colonne T

admail = .Range("T" & i)

Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)

With OutlookMail

.To = admail
.Subject = Sheets("sorties").Range("W5").Value
.Body = Sheets("sorties").Range("W8").Value
.Display
'.Send
End With
End If
Next i
End With
End Sub

merci beaucoup fonctionne parfaitement.

Rechercher des sujets similaires à "probleme envoi email destinataire valeurs"