Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
890 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] macro excel pour envoyer plusieurs fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] macro excel pour envoyer plusieurs fichiers

n°1976142
superdeug2
Geek 1 jour, Geek pour tjrs
Posté le 22-03-2010 à 22:20:05  profilanswer
 

Salut à tous
 
j'en appelle aux experts d'excel!
 
Voila, j'ai dans un même répertoire 4 classeurs. Je cherche une macro pour envoyer chacun de ces classeurs à 4 destinataires différents dont les noms sont connus.
Mes Classeurs ont le nom d'une ville (PARIS.xls, BORDEAUX.xls, NANTES.xls et MARSEILLE.xls).
 
J'ai une macro déjà opérationnelle mais prévue pour n'envoyer qu'un seul fichier à un seul destinataire.
J'ai voulu mettre à la suite 2 fois la même macro, adaptée bien sur à un autre nom de classeur et à un autre destinataire mais ça plante.
 
Je ne vois pas trop comment enchainer la macro pour m'envoyer ces 4 fichiers aux 4 bon destinataires.
 
Voici ma macro qui fonctionne.
 

Citation :

Sub envoimail()
'test sur agence d'Auxerre
 
Workbooks.Open Filename:= _
"C:\Mes Documents\FD\PARIS.xls"
 
Dim Outlook As Object
Dim Mail As Object
Dim Dest As String
Dim Objet As String
Dim Corps As String
 
Dest = "Xxxx@ddsf.com" 'adresse du destinataire
Objet = "Rapport d'appels du mois d'"
'Exemple de corps de texte avec texte et sauts de ligne
Corps = "Bonjour, " & _
vbCrLf & vbCrLf & _
"Ci-joint le fichiers des appels du mois passé pour votre agence." & _
vbCrLf & vbCrLf & _
"Nous restons bien entendu à votre disposition pour tout renseignement complémentaire." & _
vbCrLf & vbCrLf & _
"Cordialement." & _
vbCrLf & vbCrLf
 
 
Set Outlook = CreateObject("Outlook.Application" )
Set Mail = Outlook.CreateItem(0)
 
With Mail
.to = Dest
.CC = ""
.BCC = ""
.Subject = Objet
.Body = Corps
.Attachments.Add ActiveWorkbook.FullName
.Display
ActiveWindow.Close
End With
End Sub


 
Je ne sais pas enchainer cette macro sur plusieurs fichiers à la suite. Y a t'il une formule pour le faire?
 
qu'en pensez vous??
 
Merci d'avance pour votre aide


---------------
mon feed-back: http://forum.hardware.fr/hfr/Achat [...] 4641_1.htm
mood
Publicité
Posté le 22-03-2010 à 22:20:05  profilanswer
 

n°1976283
Cardelitre
ಠ_ಠ ۞_۟۞ ┌( ಠ_ಠ)┘ סּ_סּ
Posté le 23-03-2010 à 14:01:08  profilanswer
 

Fait vite fait sans tester, mais une solution du genre devrait marcher:

 

Sub envoimail()
'test sur plusieurs agences
 
Dim Outlook As Object
Dim Mail As Object
Dim Objet As String
Dim Corps As String
Dim fichiers, dest As Variant
Dim i As Integer
Dim path As String

 

path = "C:\Mes Documents\FD\"
fichiers = Array("PARIS.xls", "BORDEAUX.xls", "NANTES.xls", "MARSEILLE.xls" )
dest = Array("Xxxx@ddsf.com", "yyyy@ddsf.com", "zzzz@ddsf.com", "wwww@ddsf.com" )
 
Objet = "Rapport d'appels du mois d'"
'Exemple de corps de texte avec texte et sauts de ligne
Corps = "Bonjour, " & _
vbCrLf & vbCrLf & _
"Ci-joint le fichiers des appels du mois passé pour votre agence." & _
vbCrLf & vbCrLf & _
"Nous restons bien entendu à votre disposition pour tout renseignement complémentaire." & _
vbCrLf & vbCrLf & _
"Cordialement." & _
vbCrLf & vbCrLf
 
 
Set Outlook = CreateObject("Outlook.Application" )

 

For i = LBound(fichiers) To UBound(fichiers)
    Set Mail = Outlook.CreateItem(0)
 
    With Mail
        .To = dest(i)
        .CC = ""
        .BCC = ""
        .Subject = Objet
        .Body = Corps
        .Attachments.Add (path & fichiers(i))
        .Display
    End With
Next i

 

End Sub



Message édité par Cardelitre le 23-03-2010 à 14:01:52

---------------
Intra-Science  -  To thine own self be true
n°1976608
superdeug2
Geek 1 jour, Geek pour tjrs
Posté le 24-03-2010 à 09:12:00  profilanswer
 

merci pour l'aide!!!
 
 
 
alors ta macro marche du tonnere!!!! Mais elle provoque en fin d'exécution une erreur sur la ligne
.Attachments.Add (path & fichiers(i))
 
Tu vois d'où ça peut venir?
 

Message cité 1 fois
Message édité par superdeug2 le 24-03-2010 à 09:36:41

---------------
mon feed-back: http://forum.hardware.fr/hfr/Achat [...] 4641_1.htm
n°1977027
otobox
Maison fondée en 2005
Posté le 24-03-2010 à 21:16:55  profilanswer
 

Sans le message d'erreur, c'est difficile de deviner...


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
n°1977274
Cardelitre
ಠ_ಠ ۞_۟۞ ┌( ಠ_ಠ)┘ סּ_סּ
Posté le 25-03-2010 à 14:21:24  profilanswer
 

superdeug2 a écrit :

merci pour l'aide!!!
 
 
 
alors ta macro marche du tonnere!!!! Mais elle provoque en fin d'exécution une erreur sur la ligne
.Attachments.Add (path & fichiers(i))
 
Tu vois d'où ça peut venir?
 


Sans voir l'erreur c'est difficile à dire.
 
Mais il y a de bonne chances pour qu'il n'y ait pas le bon nom de fichier au bon endroit.
 

path & fichiers(i)

 
est sensé donner l'adresse exacte et le nom du fichier à attacher.
 
Plus haut on attribue le chemin du dossier où se trouvent les fichiers à la variable path, soit ici selon ton exemple dans le dossier  
"C:\Mes Documents\FD\"
Vérifie que les fichiers se trouvent bien à cette adresse précisément.
 
Ensuite les noms des fichiers doivent impérativement correspondre à ce qui est entré dans la variable fichier, soit dans ton exemple: "PARIS.xls", "BORDEAUX.xls", etc. Vérifie bien que les fichiers se trouvant dans le bon dossier se nomment exactement comme ça, avec la bonne extention (.xls et pas .xlsx ou autre chose).


---------------
Intra-Science  -  To thine own self be true

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] macro excel pour envoyer plusieurs fichiers

 

Sujets relatifs
Erreur après copie de plusieurs feuilles --> pb presse papier?Regrouper plusieurs registres en un seul
VBA: combiner 2 tableaux excel pour avoir un troisième tableau completRecaler du texte de plusieurs lignes contre une image
recuperer données d'un fichier excelPasser d'un outil développer en vba excel à une interface web
[Oracle 10G] Données vers fichier Excel[VBS] Lire un fichier excel
[VBA] lire fichier texte jusqu'à ... 
Plus de sujets relatifs à : [VBA] macro excel pour envoyer plusieurs fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR