Bonjour à toutes et tous,

Et premièrement merci de votre présence et votre précieuse aide.

Je dispose dans un dossier des fichiers PDF et j'ai constitué via Excel un tableau permettant de lister pour chaque fichier un/ou plusieurs destinataires.

Avec une macro je souhaite donc automatiser l'envoi de ces fichiers via Outlook avec la liste des personnes indiquées dans le tableau. J'ai donc procédé à une boucle mais celle-ci plante après le premier passage. Un message d'erreur m'indique "L'élément a été déplacé ou supprimé"

Je vous joins le code utilisé:

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
Sub Send_Mail_Outlook()
 
'Il faut activer la référence "Microsoft Outlook Library" Avant de lancer cette macro,
 ' Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
 
 Dim ObjOutlook As New Outlook.Application
 'Dim ObjOutlookmail As MailItem
 'Dim NomFichier As String
 Dim oBjMail
 'Dim Nom_Fichier As String
 
 Set ObjOutlook = New Outlook.Application
 Set oBjMail = ObjOutlook.CreateItem(olMailItem)
 'Dans ton cas changer par du Pdf ou mettre directement le chemin et nom du fichier pdf dans Nom_Fichier
 
 fin1 = Range("a1").End(xlDown).Row
 
 For i = 2 To fin1
 
 Nom_Fichier = Feuil2.Range("f" & i).Value
 Chemin = Feuil2.Range("g" & i).Value
 
 'If Nom_Fichier = "Faux" Then Exit Sub
 'If VarType(Nom_Fichier) = vbBoolean Then Exit Sub
 
 'With oBjMail
 
 oBjMail.To = Feuil2.Range("h" & i).Value
 oBjMail.Cc = Feuil2.Range("i" & i).Value 'copie
 oBjMail.Subject = Feuil2.Range("b" & i).Value ' l'objet du mail
 oBjMail.Body = Feuil2.Range("c" & i).Value 'le corps du mail ..son contenu
 oBjMail.Attachments.Add Chemin '"C:\Data\essai.txt" ' ou Nomfichier
 oBjMail.Display ' Ici on peut supprimer' pour l'envoyer sans vérification
 oBjMail.Send
 
 'End With
 
 Next
 
 'ObjOutlook.Quit
 
 
 
 End Sub




Merci d'avance je me tire les cheveux depuis hier dessus..