Modification de macro pour envoyer un fichier excel

mariedédé

XLDnaute Nouveau
Bonjour,

j'ai créer un formulaire, sur excel 2003, pour mon travail, j'ai intégré une macro(trouvée sur ce site) pour envoyer le fichier par Outlook 2003.
j'aimerai que l'envoi de ce fichier(quand on clique sur envoyer) ne se fasse que si le formulaire est validé.
de plus j'aimerai pouvoir mettre en copie plusieurs destinataires dont les adresses sont dans des cellules.

merci à tous ceux qui se donneront de la peine pour m'aider.
 

Pièces jointes

  • Bon de commande prestation annexe -.xls
    121.5 KB · Affichages: 65
  • Bon de commande prestation annexe -.xls
    121.5 KB · Affichages: 72
  • Bon de commande prestation annexe -.xls
    121.5 KB · Affichages: 78

pijaku

XLDnaute Occasionnel
Re : Modification de macro pour envoyer un fichier excel

Bonjour,

Tu as, dans le Module 7, une macro Envoi_mail dont le code est :
Code:
Sub EnvoiMail()
  Workbooks("Bon de commande prestation annexe modif.xls").SendMail Recipients:=Range("G46").Value, _
                          Subject:="Test envoi classeur", _
                          ReturnReceipt:=True
End Sub

Suffit d'y ajouter un test en fonction de la cellule C52 (formulaire validé OUI ou NON) :

Code:
Sub EnvoiMail()
If Sheets("Feuil1").Range("C52") = "OUI" Then
  Workbooks("Bon de commande prestation annexe modif.xls").SendMail Recipients:=Range("G46").Value, _
                          Subject:="Test envoi classeur", _
                          ReturnReceipt:=True
Else
    MsgBox "Formulaire incomplet. Envoi annulé"
End If
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Modification de macro pour envoyer un fichier excel

Bonjour MarieDédé et bienvenu, bonjour le forum,

Pour ma part, je n'arrive pas à télécharger ton fichier. Tu devrais vérifer car si ça le fait pour tout le monde tu n'auras pas de réponses...

[Édition]
Oublie... Re bonjour Franck...
 

pijaku

XLDnaute Occasionnel
Re : Modification de macro pour envoyer un fichier excel

Bonjour mariedédé, Robert, le forum,
Mes respects du matin...
Dans l'exemple ci-dessous, j'ai considéré que le séparateur des adresses mails était le ; Dans le cas ou ça serait la virgule, il faudra adapter...
Comme ceci :
Code:
Sub EnvoiMail()
Dim A$, Sep$

Sep = " ; " 'A ADAPTER !!! ou pas...
If Sheets("Feuil1").Range("C52") = "OUI" Then
    If Range("G46") <> "" Then A = A & Range("G46") & Sep
    If Range("G47") <> "" Then A = A & Range("G47") & Sep
    If Range("G48") <> "" Then A = A & Range("G48") & Sep
    Workbooks("Bon de commande prestation annexe modif.xls").SendMail Recipients:=A, _
                          Subject:="Test envoi classeur", _
                          ReturnReceipt:=True
Else
    MsgBox "Formulaire incomplet. Envoi annulé"
End If
End Sub

EDITION : Pour info, la méthode SendMail n'admet que trois paramètres (cf aide vba) :
Recipients, ==> Champ A (destinataires)
Subject, ==> Objet du mail
ReturnReceipt ==> accusé de réception
 

mariedédé

XLDnaute Nouveau
Re : Modification de macro pour envoyer un fichier excel

Bonjour,

Grâce à plusieurs d'entre vous, j'ai réussi à avancer, mais bien que j'ai eu plusieurs réponses (surement de bonne qualité, mais mes connaissance en VBE sont insuffisante pour tout comprendre et pouvoir les exploiter) je n'arrive pas à envoyer le formulaire en copie, (voir fichier joint), il ne part que pour le destinataire.

De plus dans la macro j'aimerai pouvoir rajouter un message du genre " veuillez toruver ci-joint ......"

Merci d'avance.
 

Pièces jointes

  • Bon de commande prestation annexe.xls
    126 KB · Affichages: 55
  • Bon de commande prestation annexe.xls
    126 KB · Affichages: 63
  • Bon de commande prestation annexe.xls
    126 KB · Affichages: 67

Discussions similaires

Réponses
2
Affichages
372