Macro pour envoyer le fax

Résolu/Fermé
Philou73CH - 25 janv. 2014 à 07:08
Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 - 1 févr. 2014 à 10:30
Bonjou / Bonsoir,

J'utilise la macro ci dessous pour envoyer un mail.
Mon problème est que maintenant, j'ai 2 adresses auxquelles le mail est destiné. Et je n'arrive pas à faire pour que les 2 adresses soient prisent. il n'y a que la première.

Pouvez-vous m'aider
Dim Variable As String,
variable = "[***@*** ; ***@***]"

Dim OL As Object
Dim OLmail As Object

Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)

With OLmail

.To = "[variable]"
.Subject = "mail "
.Body = " je suis dans la mouisse
A voir également:

2 réponses

Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 37
25 janv. 2014 à 09:04
A mon avis, le problème vient des crochets qui encadrfent les 2 adresses...

J'ai testé en modifiant comme suit et ça fonctionne :

Sub Mail()
Dim Variable As String
Variable = "***@***;***@***"

Dim OL As Object
Dim OLmail As Outlook.MailItem 'As Object (ça permet d'avoir les propriétés en mode édition)

Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)

With OLmail

.To = Variable
.Subject = "mail "
.Body = " je suis dans la mouisse"
.Display
End With

End Sub
0
Bonjour / Bonsoir,

Normad, je tiens à vous remercier d'avoir pris du temps pour vous pencher sur mon problème et d'y répondre. Et ne vous m'éprenez pas, si j'ai pas été réactif rapidement, c'est que j'ai des horaires irréguliers. Me voilà donc au job, j'ai essayé et hélas j'ai le message suivant : " Erreur de compilation. Type défini par l'utilisateur non défini." Cela vous parlera peu être, moi pas :-(

Je me dois d'être honnête, je pensais pouvoir adapter la solution proposée à ce que j'ai réellement, mais à voir c'est au-delà de mes mini connaissances. Donc vous trouverez ci-dessous, ma macro réelle. Elle a pour but de prendre le nom du destinataire depuis une feuille excel ( Données, B5) . Car le destinataire évolue selon les mutations et il est plus simple de changer à une place sur une feuille excel que à de multiple place dans une macro.

Voici la macro :
Dim CheminF As String, DateF As String, NomF As String, Destinataire As String
CheminF = Sheets("Données").Range("B6").Value
DateF = Format(Date, "dddd dd.mmm.yyyy")
NomF = Sheets("Feuille commande").Range("D5").Value
Destinataire = Sheets("Données").Range("B5").Value
Sheets("Feuille commande").ExportAsFixedFormat Type:=xlTypexslm, Filename:= _
ActiveWorkbook.Path & CheminF & DateF & "_Commande_n°_" & NomF & ".PDF"
'Envoi mail pour qui vous savezl avec dossier PDF en pièce jointe
MsgBox ("! Attention, vous devez avoir boîte email Outlook déjà ouverte !! Si tel n'est pas le cas, l'email ne sera pas envoyé et ira dans le dossier(Boîte d'envoi).")
Dim OL As Object
Dim OLmail As Object
Set OL = CreateObject("Outlook.Application")
Set OLmail = OL.CreateItem(0)
With OLmail
.To = Destinataire
.Subject = "Commande de matériel à l'aide du Cahier ad-hoc.x"
.Body = " Bonjour, vous trouverez notre commande n°" & NomF & ", de ce " & DateF & ". Merci à vous et meilleures salutations"
.Attachments.Add ActiveWorkbook.Path & CheminF & DateF & "_Commande_n°_" & NomF & ".PDF"
.Display
End With
0
Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 37
1 févr. 2014 à 10:30
Bonjour,
Pour "Erreur de compilation. Type défini par l'utilisateur non défini."

La référence "Microsoft Outlook 14.0 Object Library" devrait être ajoutée (Menu Outil / Références dans VBA)

Sinon ça peut aussi marcher en déclarant comme objet, dans ce cas juste modifier la ligne :

Dim OLmail As Outlook.MailItem


en

Dim OLmail As Object


Pour le reste et surtout la question initiale, il faudrait analyser ce que contient la case où les adresses email sont présentes , soit la cellule B5 de la feuille "Données" qui est lue dans la ligne :

Destinataire = Sheets("Données").Range("B5").Value

Dans le premier code, le format de 2 adresses emails entre crochet ne fonctionne pas, il faut simplement séparer les adresses par un point-virgule.
0