Envoi fichier joint par mail outlook automatique sous VBA

Bonjour

Je souhaite écrire une procédure assez simple depuis un fichier Excel pour envoyer automatiquement à une liste d'adresses mail un ensemble différent de fichiers pour chaque adresse.

N'y connaissant rien en VBA, j'ai récupéré des bouts de code que j'ai expérimentés.

J'ai un problème dès que je veux joindre un fichier dans la méthode .attachments et cela même si je travaille avec un nom de fichier fixe.

Il me met à l'exécution :

Erreur d'exécution '-2147024894 (80070002)':

Fichier introuvable. Vérifier que le chemin d'accès et le nom du fichier sont corrects

Mon fichier pourtant existe et est au même niveau que la macro

En débogage je vois le contenu de la variable Ficjoint égal à la bonne valeur.

J'ai aussi essayé de spécifier le chemin d'accès en absolu mais ca ne marche pas.

Sans la partie Attachments ca se passe bien

Quel est le problème dans mon code sur la partie Attachments ?

Merci d'avance pour votre aide potentielle ...

Francois

Voici joint mon code :

Sub EnvoiPJ()

Dim olApp As Outlook.Application

Dim olMail As MailItem

Dim Ficjoint As String

Set olApp = New Outlook.Application

Set olMail = olApp.CreateItem(olMailItem)

obj = Sheets("Feuil1").Range("H10").Value

suj = Sheets("Feuil1").Range("H11").Value

For i = 1 To 2

Set olMail = olApp.CreateItem(olMailItem)

If Range("A" & i).Value <> vide Then

'rep = 'Ficjoint = rep & "\" & Range("E" & i).Value & ".Pdf"

'Ficjoint = rep & "\" Range("E" & i).Value

Ficjoint = "2041.txt"

With olMail

.To = Range("A" & i).Value

'.CC = Range("B" & i).Value

.Subject = obj

.Body = suj

.Attachments.Add Ficjoint

.Display '.Send

End With

' Effacer les variables objets

Set olMail = Nothing

End If

Next i

Set olApp = Nothing

End Sub

Salut,

Je pense que si ton fichier ne comporte pas de données confidentielle que tu obtiendras un réponse beaucoup plus rapide en y joignant ce dernier.

D'après ce que je vois il y a des adresses mail, mets en des bidons, juste pr que l'on voit comment ton fichier est bâti.

Cordialement,

Hello !

Tu n'indiques pas où se trouve le fichier !

Ficjoint = "2041.txt"

au passage, utilise la balise code, ce sera plus lisible

Pourquoi avoir effacé le répertoire ?

Perso ce que je peine à comprendre c'est l'utilité de toutes les variables FicJoint.

Mais merci Steelson c'est bien ce qui me semblait mais j'en était pas certain

Rechercher des sujets similaires à "envoi fichier joint mail outlook automatique vba"