Macro sous Excel envoi de fichier par mail
Résolu/Fermé
domino40
-
22 déc. 2007 à 21:16
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 23 déc. 2007 à 21:12
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 23 déc. 2007 à 21:12
A voir également:
- Macro sous Excel envoi de fichier par mail
- Fichier rar - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Yahoo mail - Accueil - Mail
- Liste déroulante excel - Guide
- Comment réduire la taille d'un fichier - Guide
5 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
23 déc. 2007 à 18:40
23 déc. 2007 à 18:40
bonjour
Il faut que le classeur envoyé soit ouvert avec cette syntaxe et donc tu n'as pas besoin du chemin complet.
d'autre par le range fait partie de la feuille et non du classeur.
essayes ceci qui devrait fonctionner.
Il faut que le classeur envoyé soit ouvert avec cette syntaxe et donc tu n'as pas besoin du chemin complet.
d'autre par le range fait partie de la feuille et non du classeur.
essayes ceci qui devrait fonctionner.
Workbooks("BT.xls").SendMail Recipients:=ActiveSheet.Range("E52").Value, _ Subject:=ActiveSheet.Range("E53").Value, _ ReturnReceipt:=True
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
23 déc. 2007 à 21:12
23 déc. 2007 à 21:12
bonjour
En fait, je crois que le plus simple c'est d'avoir plusieurs cellules adresse rassemblées dans une "array" et tu peux en mettre d'autres, séparées par la virgule à l'intérieur des parenthéses.
En fait, je crois que le plus simple c'est d'avoir plusieurs cellules adresse rassemblées dans une "array" et tu peux en mettre d'autres, séparées par la virgule à l'intérieur des parenthéses.
Workbooks("bt.xls").SendMail _ Recipients:=Array(ActiveSheet.Range("E52").Value, _ ActiveSheet.Range("F52").Value), _ Subject:=ActiveSheet.Range("E53").Value, _ ReturnReceipt:=True
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
22 déc. 2007 à 21:37
22 déc. 2007 à 21:37
bonjour
ActiveWorkbook.SendMail Recipients:=range("A1").value, _
Cela n'envoie que le classeur courant effectivement.
Si tu veux envoyer un autre classeur avec des données du classeur courant ou du classeur à envoyer
Workbooks("fichierX").SendMail Recipients:=Workbooks("fichierX").Worksheets("Ma_feuille").range("A1").value,
ou
Workbooks("fichierX").SendMail Recipients:=ActiveWorkbook.range("A1").value,
ActiveWorkbook.SendMail Recipients:=range("A1").value, _
Cela n'envoie que le classeur courant effectivement.
Si tu veux envoyer un autre classeur avec des données du classeur courant ou du classeur à envoyer
Workbooks("fichierX").SendMail Recipients:=Workbooks("fichierX").Worksheets("Ma_feuille").range("A1").value,
ou
Workbooks("fichierX").SendMail Recipients:=ActiveWorkbook.range("A1").value,
Bonjour,
Encore merci pour votre réactivité.
Mais décidément cette macro résiste !
Si je la passe en ActiveWorkbook --> Elle passe impec.
Mais si je lui donne le chemin de mon fichier BT.xls voir macro si dessous :
Workbooks("F:\Epave\BT.xls").SendMail Recipients:=ActiveWorkbook.Range("E52").Value, _
Subject:=Range("E53").Value, _
ReturnReceipt:=True
Si j'ai bien saisi :
--> BT.xls est mon fichier à envoyer
--> E52 est la cellule contenant l'adresse E mail, mais de mon fichier ouvert (qui n'est donc pas le même que BT.xls)
--> E53 est la cellue contenant l'objet du message
J’ai le message d’erreur suivant :
Erreur d’exécution 438
Propriété ou méthode non gérée par cet objet
Très cordialement,
Domino40
Encore merci pour votre réactivité.
Mais décidément cette macro résiste !
Si je la passe en ActiveWorkbook --> Elle passe impec.
Mais si je lui donne le chemin de mon fichier BT.xls voir macro si dessous :
Workbooks("F:\Epave\BT.xls").SendMail Recipients:=ActiveWorkbook.Range("E52").Value, _
Subject:=Range("E53").Value, _
ReturnReceipt:=True
Si j'ai bien saisi :
--> BT.xls est mon fichier à envoyer
--> E52 est la cellule contenant l'adresse E mail, mais de mon fichier ouvert (qui n'est donc pas le même que BT.xls)
--> E53 est la cellue contenant l'objet du message
J’ai le message d’erreur suivant :
Erreur d’exécution 438
Propriété ou méthode non gérée par cet objet
Très cordialement,
Domino40
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Je ne sait pas comment vous remercier tant sur votre rapidité que votre efficacité.
ça marche s'est génial !
Quand on aime on ne compte plus
Y aurait il un petit bonus ?
Si je veux envoyer d'un coup à plusieurs adresse E mail
Faut il que je duplique la macro, ou est il possible d'ajouter d'autres cellules contenant un adresse e mail ou puis je mettre plusieurs adresses danas la même cellule et a quel format ?
Très cordialement,
Domino40
Je ne sait pas comment vous remercier tant sur votre rapidité que votre efficacité.
ça marche s'est génial !
Quand on aime on ne compte plus
Y aurait il un petit bonus ?
Si je veux envoyer d'un coup à plusieurs adresse E mail
Faut il que je duplique la macro, ou est il possible d'ajouter d'autres cellules contenant un adresse e mail ou puis je mettre plusieurs adresses danas la même cellule et a quel format ?
Très cordialement,
Domino40