Modification de macro pour envoyer un fichier excel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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...
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
360
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
821
  • Question Question
Microsoft 365 macro TCD
Réponses
4
Affichages
241
Retour