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
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
A voir également:
- Macro pour envoyer le fax
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Envoi fax gratuit - Télécharger - Web & Internet
- Envoyer ma position - Guide
2 réponses
Normad
Messages postés
112
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
10 juin 2015
39
25 janv. 2014 à 09:04
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 :
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
Normad
Messages postés
112
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
10 juin 2015
39
1 févr. 2014 à 10:30
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 :
en
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.
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.
28 janv. 2014 à 20:49
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