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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Créer un fichier et l'envoyer en vba

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un fichier et l'envoyer en vba

n°2202775
sasa202
Work hard, play hard !
Posté le 12-09-2013 à 22:13:49  profilanswer
 

Bonjour,
 
Je suis débutante en VBA. Et j'arrive pas résoudre ce problème.
J'ai une base de données dans un fichier Excel. Chaque ligne de cette base de données est différente et elle est attribuée à une adresse mail.
J'aimerais créer pour chaque ligne un nouveau fichier Excel avec ces valeurs et y créer un camembert correspondant aux valeurs copiés puis envoyer ce fichier au mail correspondant.
 
 
Voila ce que j'ai essayé. J'ai récupéré des bouts de codes et j'ai utilisé l'enregistreur de macro.  
Ce code me permet de créer à chaque fois un nouveau fichier, il recopie les valeurs d'une ligne et créer le camembert correspondant et ainsi de suite pour chaque ligne. Or je ne sais pas comment envoyer ce fichier créée au mail correspondant.  
J'espère que je suis claire.
 

Code :
  1. Sub macro()
  2. Dim graphique As ChartObject
  3. Application.ScreenUpdating = False
  4. For i = 2 To 3
  5. ThisWorkbook.Sheets("Base de données" ).Range("A" & i & ":E" & i).Copy
  6. 'créer un nouveau classeur et y coller les données
  7. Set nouv = Workbooks.Add
  8. Set pg = nouv.Sheets(1)
  9. pg.Paste
  10. pg.Cells(1).PasteSpecial Paste:=xlValues
  11. ActiveSheet.Shapes.AddChart.Select
  12. ActiveChart.ChartType = xl3DPie
  13. ActiveChart.SetSourceData Source:=Range("C1:E2" )
  14. ActiveChart.SeriesCollection(1).XValues = "='Base de données'!$C$1:$E$1"
  15.    
  16. ActiveChart.SeriesCollection(1).Name = "Répartition du temps"
  17. ActiveChart.HasLegend = True
  18. ActiveChart.HasTitle = True
  19. ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _
  20. HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:=False, _
  21. ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False
  22. 'faire le ménage
  23. Set pg = Nothing
  24. Set gr = Nothing
  25. Set nouv = Nothing
  26. Application.CutCopyMode = False
  27. Next i
  28. End Sub


   
Je connais le code pour envoyer un fichier se trouvant sur mon ordinateur. Mais je ne sais pas comment y insérer ces nouveaux fichiers crées.  
 

Code :
  1. Sub Envoyer_Mail_Outlook()
  2. Dim ObjOutlook As New Outlook.Application
  3. Dim oBjMail
  4. Dim Nom_Fichier As String
  5. Dim adresse As String
  6. ' adresses emails
  7. For i = 2 To 3
  8. 'pour chaque adresse on démarre l’opération
  9. adresse = Range("B" & i)
  10.     Set ObjOutlook = New Outlook.Application
  11.     Set oBjMail = ObjOutlook.CreateItem(olMailItem)
  12.    
  13.    Nom_Fichier = "C:\Users\"
  14.     If Nom_Fichier = "" Then Exit Sub
  15. '---------------------------------------------------------
  16.      With oBjMail
  17.     ' l'objet du mail
  18.        .Subject = "Réponses questionnaire"
  19.     'le corps du mail ..son contenu
  20.        .Body = "Ci-joint les réponses aux questionnaires"
  21.        .Attachments.Add Nom_Fichier
  22.        .To = adresse
  23.     '   Ici on peut supprimer pour l'envoyer sans vérification
  24.        .Display
  25.        .Send
  26.     End With
  27.    
  28.     Set oBjMail = Nothing
  29.     Set ObjOutlook = Nothing
  30.     Next i
  31. End Sub

 
 
 
Je vous remercie pour votre aide ! :)

mood
Publicité
Posté le 12-09-2013 à 22:13:49  profilanswer
 


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

  Créer un fichier et l'envoyer en vba

 

Sujets relatifs
Inclure en php un texte contenu dans un fichier dropboxconvertir un fichier image raw en format lisible
[Excel] Copier le contenu de plusieurs fichier Excel dans un seulJe souhaite une macro qui ouvre un fichier excel. Résolu Merci
Fixer le nombre de caractères par ligne d'un fichier[BASH] couper un fichier à une ligne précise
Créer un xml document à partir d'un autreReadfile sur fichier de cache volumineux
créer un fichier xml et l'afficher dans un emplacement bien déterminéComment envoyer un pdf dynamique en piece jointe sans créer le fichier
Plus de sujets relatifs à : Créer un fichier et l'envoyer en vba


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