PJ et tableaux structurés
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
Code:
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 |
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...
Merci d'avance pour toute aide,
Camille