Bonjour à tous,
J'ai entrepris de simplifier au maximum l'envoi des factures au sein de mon entreprise.
Grâce à l'aide de plusieurs personnes sur ce forum, j'ai pu automatiser la création des emails pour chaque client.
L'étape suivante est de réussir à ajouter la ou les pièces jointes qui correspondent aux bons contacts.
J'ai donc créé une liste de mes factures avec leur chemin d'accès avec quelques formules Excel.
Tous les chemins d'accès se trouvent donc dans la colonne G, à partir de la ligne 34.
Dans la colonne A de cette liste se trouve la formule que j'utilise pour m'adresser aux clients (ex : Chère Madame Dupont, Cher Monsieur Truc)
Je chercherais donc dans un premier temps à faire tourner la fonction Attachments.Add dans une liste, mais ma tentative ne fonctionne pas ; la macro ne comprend pas le " .Attachments.Add d"
Ensuite, je souhaiterais reproduire l'équivalent d'un Index(equiv) d'Excel pour que la macro n'ajoute que la ou les pièces jointes pour lesquelles la formule de politesse en colonne A est la même que la formule de politesse qui se met dans le corps de l'email (pour information, la formule de politesse destinée au corps de l'email est dans la colonne H). J'ai quelques idées pour réaliser ça, mais tant que la première étape ne fonctionne pas, je suis un peu coincée...
J'espère que c'est assez clair ; voici le code en question :
Merci par avance
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 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 Texte = Texte & "Financial Controller" & vbCrLf & vbCrLf .To = Dest .CC = MiseEnCopie .Subject = Sujet .Body = Texte .OriginatorDeliveryReportRequested = True 'confirmation de réception .Importance = 2 For i = 33 To 100 d = Sheets("ANG").Cells(i, 6) .Attachments.Add d Next i .Display '.Send envoi automatique Ligne = Ligne + 1 End With Wend End Sub
Partager