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 : 
 Sub macro()Dim graphique As ChartObjectApplication.ScreenUpdating = FalseFor i = 2 To 3ThisWorkbook.Sheets("Base de données" ).Range("A" & i & ":E" & i).Copy'créer un nouveau classeur et y coller les donnéesSet nouv = Workbooks.AddSet pg = nouv.Sheets(1)pg.Pastepg.Cells(1).PasteSpecial Paste:=xlValuesActiveSheet.Shapes.AddChart.SelectActiveChart.ChartType = xl3DPieActiveChart.SetSourceData Source:=Range("C1:E2" )ActiveChart.SeriesCollection(1).XValues = "='Base de données'!$C$1:$E$1"   ActiveChart.SeriesCollection(1).Name = "Répartition du temps"ActiveChart.HasLegend = TrueActiveChart.HasTitle = TrueActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:=False, _ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False'faire le ménageSet pg = NothingSet gr = NothingSet nouv = NothingApplication.CutCopyMode = FalseNext iEnd 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 : 
 Sub Envoyer_Mail_Outlook()Dim ObjOutlook As New Outlook.ApplicationDim oBjMailDim Nom_Fichier As StringDim adresse As String' adresses emailsFor i = 2 To 3'pour chaque adresse on démarre l’opérationadresse = Range("B" & i)    Set ObjOutlook = New Outlook.Application    Set oBjMail = ObjOutlook.CreateItem(olMailItem)      Nom_Fichier = "C:\Users\"    If Nom_Fichier = "" Then Exit Sub'---------------------------------------------------------     With oBjMail    ' l'objet du mail       .Subject = "Réponses questionnaire"    'le corps du mail ..son contenu       .Body = "Ci-joint les réponses aux questionnaires"       .Attachments.Add Nom_Fichier       .To = adresse    '   Ici on peut supprimer pour l'envoyer sans vérification       .Display       .Send    End With       Set oBjMail = Nothing    Set ObjOutlook = Nothing    Next iEnd Sub
 | 
  
 
 
Je vous remercie pour votre aide ! 