Diffusion auto de fichier Excel par Mail

  • Initiateur de la discussion Initiateur de la discussion DUBERNET
  • Date de début Date de début

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 !

D

DUBERNET

Guest
Bonjour @ tous et @ toutes !

Voilà un petit sujet qui m'intéresse.

Je dispose d'un répertoire contenant des fichiers excel.
Chaque fichier contient l'adresse mail des destinataires correspondant (1 par fichier) dans la même case (exemple: A1).

Peut-on envoyer automatiquement à la volée tous ces fichiers Excel à leur destinataires via Outlook 2000 (send by mail) grâce à une macro Excel ou un VBscript?

Je débute sur ce sujet que pouvez-vous me donner comme solution.
Cordialement
DUB
 
salut
j'ai trouvé le moyen pour envoyer un mail automatiquement (avec ou sans PJ) en utilisant un .VBS et une tache planifiée sous Win XP et outlook 2000
mais pour récupérer les adresses mails dans chaque fichier excel ça je sais pas faire

dis-moi si déjà ça t'intéresse
en attendant que qq'un est LA solution

;-)
 
salut
voilà la procédure (winXP et outlook 2000)

Sub test_auto_mail()
' cree un objet Outlook 14:16 6/11/2002
Set app = CreateObject('outlook.application')

' creer mail
Set mail = app.CreateItem(0)

' destinataire
' entrer ici l'adresse de destination
mail.To = 'toto@zzz.fr'

' objet
mail.Subject = 'voici les fichiers demandés '

'corps mail
w = 'fichier en piece jointe' + Chr(13) + Chr(13)
w = w + '' + Chr(13) + Chr(13)

mail.Body = w
' pièce(s) jointe(s)

mail.Attachments.Add ('C:\\Documents and Settings\\nom de l'utilisteur\\Mes documents\\le chemin du 1er fichier que tu veux envoyer.extension du fichier')
mail.Attachments.Add ('C:\\Documents and Settings\\nom de l'utilisteur\\Mes documents\\le chemin du 2ème fichier que tu veux envoyer.extension du fichier')
mail.Attachments.Add ('C:\\Documents and Settings\\nom de l'utilisteur\\Mes documents\\le chemin du 3ème fichier que tu veux envoyer.extension du fichier')
' etc...
' etc...

' envoi mail
mail.Send
End Sub

à copier/coller dans fichier txt puis renommer le fichier en changeant l'extension en .VBS
et créer une tache planifiée pour exécuter le fichier
 
Sinon je repose la question si quelqu'un a une autre idée?

Diffusion auto de fichier Excel par Mail ....

Je dispose d'un répertoire contenant des fichiers excel.
Chaque fichier contient l'adresse mail des destinataires correspondant (1 par fichier) dans la même case (exemple: A1).

Peut-on envoyer automatiquement à la volée tous ces fichiers Excel à leur destinataires via Outlook 2000 (send by mail) grâce à une macro Excel ou un VBscript?

Je débute sur ce sujet que pouvez-vous me donner comme solution.
Cordialement
DUB
 
bonjour Dubernet , bonjour Usul


pour cet exemple , le classeur contenant la macro doit etre dans le meme répertoire que les classeurs à envoyer

les adresses emails , dans chaque classeur à envoyer , doivent etre dans la cellule A1 de la premiere Feuille


necessite d'activer les references :
Microsoft Outlook xx.x Object Library
Microsoft ActiveX Data Objects x.x Library
Microsoft ADO Ext 2.7 for DLL ans Security

dans l'editeur de macros
Menu Outils
References
selectionnes les 3 references
cliques sur OK pour valider


la macro boucle sur tous les classeurs du repertoire pour recuperer l'adresse mail (sans ouvrir les fichiers ) , puis créée un message outlook vers chaque destinataire avec le fichier joint .



Code:
Sub EnvoiMail_BoucleClasseurs()
'necessite d'activer la reference Microsoft ActiveX Data Objects x.x Library
'necessite d'activer la reference Microsoft Outlook xx.x Object Library
'necessite d 'activer la reference Microsoft ADO Ext 2.7 for DLL ans Security
Dim Ol As New Outlook.Application
Dim olMail As MailItem
Dim Fichier As String
Dim Cn As ADODB.Connection
Dim Cat As ADOX.Catalog
Dim xConnect As String

Set Ol = New Outlook.Application

Fichier = Dir(ThisWorkbook.Path & '\\*.xls')

Do While Fichier <> ''

If Fichier <> ThisWorkbook.Name Then
xConnect = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' & _
ThisWorkbook.Path & '\\' & Fichier & ';' & _
'Extended Properties=Excel 8.0;'

Set Cat = CreateObject('ADOX.Catalog')
Set Cn = CreateObject('ADODB.Connection')

Cn.Open xConnect
Set Cat.ActiveConnection = Cn
Set olMail = Ol.CreateItem(olMailItem)

With olMail
.To = Application.WorksheetFunction.Substitute(Cat.Tables(0).Columns(0).Name, '#', '.')
.Subject = 'Le sujet traité '
.Body = 'Bonjour , ' & vbLf & 'Vous trouverez ci joint le dossier en cours ' & _
vbLf & vbLf & 'cordialement' & vbLf & Application.UserName
.Attachments.Add ThisWorkbook.Path & '\\' & Fichier
.Display
.Send
End With

Cn.Close
End If

Fichier = Dir
Loop

End Sub



bonne soiree
MichelXld [file name=EnvoiMail_BoucleClasseurs.zip size=23157]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/EnvoiMail_BoucleClasseurs.zip[/file]

Message édité par: MichelXld, à: 04/05/2005 18:59
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
1 K
Réponses
6
Affichages
953
S
Réponses
6
Affichages
2 K
soNZOOO
S
Retour