Bonjour à tous,
Depuis quelques temps, j'essaye de mettre au point une macro qui puisse me préparer mes emails de facturation.
Toute la partie création d'email, ajout automatique des destinataires, des CC, du titre et du corps de l'email fonctionne très bien ; il ne manque maintenant plus que la partie pièces jointes.
Pour donner du contexte, un destinataire peut avoir une ou plusieurs pièces jointes.
J'ai donc suivi les conseils donnés sur ce forum, et j'ai gardé toutes les informations dans un tableau structuré.
Il y a donc des colonnes Facture1, Facture2, Facture3... où est gardée l'adresse de la facture sur le PC
j'ai ajouté une condition au cas où la cellule est vide, mais malgré ça, j'ai un message d'erreur lorsque je fais tourner la macro (Erreur d'exécution 2147024894 80070002, Fichier introuvable).
Le débogage s'arrête sur : If Range("t_ANG[Facture1]")(i).Value <> "" Then
Je suis sûre que l'adresse de la pièce jointe est correcte (lorsque je copie l'adresse dans mes documents, ça me l'ouvre directement), donc je ne suis pas certaine de l'origine du problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 Sub BoutonAng_Cliquer() Dim OL As Object Dim Texte As String Dim Ligne As Long Dim MiseEnCopie As String Ligne = 5 MiseEnCopie = Range("L2") Set OL = CreateObject("Outlook.Application") While Range("C" & Ligne) <> "" With OL.CreateItem(0) Dest = Range("E" & Ligne) & " ; " & Range("F" & Ligne) & " ; " & Range("G" & Ligne) Sujet = Range("I" & Ligne) Texte = Range("H" & Ligne) & vbCrLf & vbCrLf Texte = Texte & Range("J" & Ligne) & vbCrLf & vbCrLf Texte = Texte & "Should you require any additional information, please do not hesitate to contact me." & vbCrLf & vbCrLf Texte = Texte & "Best regards," & vbCrLf & vbCrLf Texte = Texte & "Camille Robert" & vbCrLf .To = Dest .CC = MiseEnCopie .Subject = Sujet .Body = Texte .OriginatorDeliveryReportRequested = True 'confirmation de réception .Importance = 2 For i = 5 To Range("t_ANG").Rows.Count If Range("t_ANG[Facture1]")(i).Value <> "" Then .Attachments.Add Range("t_ANG[Facture1]")(i).Value End If If Range("t_ANG[Facture2]")(i).Value <> "" Then .Attachments.Add Range("t_ANG[Facture2]")(i).Value End If Next i .Display '.Send envoi automatique Ligne = Ligne + 1 End With Wend End Sub
Merci d'avance pour toute aide,
Camille
Partager