Bonjour,
Etant très débutant en VBA, j'ai recopié cette macro mais j'ai une erreur comme indiqué dans le titre. L'erreur se produit sur la ligne que j'ai mis en rouge :
Set PJ = MonCourrier.Attachments(i) (ligne 23)
Mon but est d'enregistrer tout les jours automatiquement 3 fichiers toujours du même noms (en écrasant ceux de la veille) reçu toujours du même destinataire (envoyé par macro auto que j'ai créer).
Si quelqu'un pourrais m'aider, ou me donner un code plus simple
Merci d'avance et bonne nuit
Dom
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
38Private Sub Application_NewMailEx(ByVal EntryIDCollection As String) Dim NS As NameSpace Dim MonCourrier As MailItem Dim NomFichier As String Dim NbPJ As Integer Dim i As Integer Dim j As Integer Dim NomPj As String Dim PJ As Attachment Const Dossier As String = "C:\Users\Home\Documents\Essai" Dim varEntryIDs Dim objItem As Object Set NS = GetNamespace("MAPI") varEntryIDs = Split(EntryIDCollection, ",") For i = 0 To UBound(varEntryIDs) Set objItem = Application.Session.GetItemFromID(varEntryIDs(i)) If TypeName(objItem) = "MailItem" Then 'Pour profiter de l'intellisense Set MonCourrier = objItem If MonCourrier.SenderEmailAddress = "XXXXXX@gmail.com" Then NbPJ = MonCourrier.Attachments.Count For j = NbPJ To 1 Step -1 Set PJ = MonCourrier.Attachments(i) ' recopier et supprimer NomFichier = PJ.DisplayName ' Ecrase le fichier s'il existe déjà PJ.SaveAsFile Dossier & NomFichier 'Si le fichier détaché doit être supprimé, valider la lige suivante PJ.Delete Next j End If ' expéditeur concerné Else ' ce n'est pas un courriel End If Next i MsgBox "Les Fichiers venant des XXXXXXX ont bien été enregistrés" End Sub





Répondre avec citation



Partager