OVH Cloud OVH Cloud

envoi de mail

3 réponses
Avatar
Bauwens François
Salut à tous,

Mon problème est que ce code fonctionne très bien mais refuse d'envoyer le
mail si tous les chmaps ne sont pas rempli. Or parfois je peux ne pas
vouloir les compléter ou en tout cas ne pas joindre de pièce.

Dim Message As New CDO.Message
With Message
.To = adre
.Subject = suje
.TextBody = corp
.AddAttachment Me![attache]
.Send
End With
Set Message = Nothing
End Sub

J'ai tenté le code suivant. Il ne bug pas mais n'envoie pas non plus le
mail...


Dim Message As New CDO.Message
With Message
If adre <> "" Then
.To = adre
ElseIf suje <> "" Then
.Subject = suje
ElseIf corp <> "" Then
.TextBody = corp
ElseIf attache <> "" Then
.AddAttachment Me![attache]
.Send
End If
End With
Set Message = Nothing
End Sub

Quelqu'un a-t-il une idée ?

Merci

3 réponses

Avatar
Bauwens François
Merci pour la réponse.
Oui, j'ai oublié de dire que je ne suis pas informaticien et que je débute
en vba...
Autrement dit, je ne comprends pas de quoi tu me parles ni ce que ça
représente comme démarche ;o)


"Jimmy Limousin" a écrit dans le message de
news:
jeu. 22 sept. 2005 11:20:40 Bauwens François a écrit dans le message de
news

<news:u3Jj$ :


Quelqu'un a-t-il une idée ?


Perso j'utilise un client externe indépendant de windows : Blat.

Il me fout une paix royale et s'installe sur n'importe quelle config.


--
Quand Jimmy dit what'd I say
I love you baby
C'est comme qui dirait
Toute la province qui chante en anglais




Avatar
pgz
Bonjour,

Etonnant qu'il ne bogue pas avec 4 'if' et 1 seul 'end if'.
Si l'adresse est vide, le message ne partira pas.
Le send est sous un else. Donc si tous les champs sont remplis, le message
n'est pas envoyé!

Je crois qu'il vaudrait miuex contrôler la présence de l'adr du destinataire
et du corps de texte, tester l apièce jointe comme c'est fait ( ou presque)
et pour les champs jugés facultatifs faire
.Subject = NZ(suje,"")

EN espérant que cela te sera utile,
pgz
Avatar
Bauwens François
Ok tout grand merci pgz, j'ai modifier en fonction de tes remarques et ça
fonctionne au poil. A toutes fins utiles, voici le code qui fonctionne :
Dim Message As New CDO.Message
With Message
If adre <> "" Then
.To = adre
End If
If suje <> "" Then
.Subject = suje
End If
If corp <> "" Then
.TextBody = corp
End If
If attache <> "" Then
.AddAttachment Me![attache]
End If
End With
answer = MsgBox("Alors, on l'envoie ce mail ?", vbYesNo + vbQuestion,
"VIVE LES MARIES")
If answer = vbYes Then
Message.Send
Else
Exit Sub
End If
Set Message = Nothing
End Sub

"pgz" (sansspam)> a écrit dans le message de
news:
Bonjour,

Etonnant qu'il ne bogue pas avec 4 'if' et 1 seul 'end if'.
Si l'adresse est vide, le message ne partira pas.
Le send est sous un else. Donc si tous les champs sont remplis, le message
n'est pas envoyé!

Je crois qu'il vaudrait miuex contrôler la présence de l'adr du
destinataire

et du corps de texte, tester l apièce jointe comme c'est fait ( ou
presque)

et pour les champs jugés facultatifs faire
.Subject = NZ(suje,"")

EN espérant que cela te sera utile,
pgz