VBA envoyer un mail outlook avec une pièce jointe

Bonjour :)

Je suis assez désespérée à vrai dire car je ne connais rien au code et je n'arrive pas à trouver une solution malgré les nombreux tutos sur internet, j'ai un code pour envoyer des mails imbriquant des données différentes selon chaque destinataire qui fonctionne bien et j'aurais aimé ajouter dans celui-ci la possibilité de mettre les pièces jointes automatiquement pour ne pas avoir à le faire pour les 95 mails (pièces jointes qui sont toutes différentes).

Voici ci-dessous le code avec en rouge la partie qui me pose problème, vous auriez une solution svp ?

Sub email()
Dim x As Byte
MonNumero = Range("A2").Value
Set ws = Worksheets("TEST")
ws.Select
For compteur = 2 To 3
monNuméroActuel = Cells(compteur, 1)
If MonNumero = monNuméroActuel Then
If Cells(compteur, 5) = "a" Then
leSujet = Cells(compteur, 2)
mesAA = mesAA & ";" & Cells(compteur, 3)
pour = Cells(compteur, 3)
lecorp = " "
If contenu = "" Then contenu = "vide"
modifier = MsgBox(contenu & vbCr & "Voulez vous choisir un fichier à joindre ?", vbYesNo, "Fichiers paramétrés")
If modifier = vbYes Then
For i = 0 To 9
If i = 0 Then encore = MsgBox("un autre ?", vbYesNo)
If encore = vbNo Then
Quest:
PJ = InputBox("Emplacement du fichier joint au PUBLIPOSTAGE?", "Paramétrage du PUBLIPOSTAGE pour la session", publipostagePJ(i))
ElseIf Cells(compteur, 5) = "cc" Then
mesCC = mesCC & ";" & Cells(compteur, 4)
End If
Else
Set leOutlook = CreateObject("Outlook.Application")
MonNumero = monNuméroActuel
With leOutlook.CreateItem(0)
.Subject = leSujet
.To = mesAA
.Body = lecorp
.cc = mesCC
.display
End With
mesCC = ""
mesAA = ""
If Cells(compteur, 5) = "a" Then
leSujet = Cells(compteur, 2)
mesAA = mesAA & ";" & Cells(compteur, 3)
lecorp = " "
ElseIf Cells(compteur, 5) = "cc" Then
mesCC = mesCC & ";" & Cells(compteur, 4)
End If
End If
Next
Set leOutlook = Nothing
End Sub

Merci d'avance pour votre aide !

Bonjour Sarah03 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

Ensuite, il y a tout à revoir ce code même après l'avoir mis entre balises avec le bouton </> est illisible et incompréhensible

Il faut tout revoir à la base

A+

Bonjour BrunoM45, merci pour votre réponse !

Je ne comprend pourquoi il y a tout à revoir ? Voici le code de base :

Sub email()

Dim x As Byte

monNumero = Range("A2").Value

Set ws = Worksheets("Liste mails")
ws.Select

For compteur = 112 To 175 Step 1
monNumroActuel = Cells(compteur, 1)
If monNumero = monNumroActuel Then

If Cells(compteur, 5) = "a" Then
leSujet = Cells(compteur, 2)
mesAA = mesAA & ";" & Cells(compteur, 3)
pour = Cells(compteur, 3)
lecorp = " "

ElseIf Cells(compteur, 5) = "cc" Then
mesCC = mesCC & ";" & Cells(compteur, 4)
End If

Else
Set leOutlook = CreateObject("Outlook.Application")
monNumero = monNumroActuel
With leOutlook.CreateItem(0)
.Subject = leSujet
.To = mesAA
.Body = lecorp
.cc = mesCC
.display
End With

mesCC = ""
mesAA = ""
If Cells(compteur, 5) = "a" Then

leSujet = Cells(compteur, 2)
mesAA = mesAA & ";" & Cells(compteur, 3)
lecorp = " "

ElseIf Cells(compteur, 5) = "cc" Then

mesCC = mesCC & ";" & Cells(compteur, 4)
End If

End If

Next

Set leOutlook = Nothing

End Sub

Il a été utilisé de nombreuses fois et fonctionnait très bien, je voudrais juste pouvoir avoir la possibilité d'intégrer des pièces jointes différentes selon les personnes, vous auriez une solution ?

Re,

Il fonctionnait avec toutes ces boucles quelle chance (joke)

Perso, je n'y mettrais pas les pieds, ni même les mains

Mais beaucoup le feront je pense

Rechercher des sujets similaires à "vba envoyer mail outlook piece jointe"