Problème création macro publipostage

Bonsoir à tous,

Je me permets de vous solliciter à nouveau car avec mon collègue nous avons adapté une macro permettant de faire du publipostage par le biais d’Excel ( vers Outlook) mais nous sommes confrontés au problème des pièces jointes.

Nous devons spécifier dans la macro combien nous avons de PJ pour que cette dernière fonctionne correctement. Souhaitant la transmettre à des collègues ne pratiquant pas VBA, il faudrait que cette dernière tourne sans ce problème de PJ.

Voici donc le code rédigé :

Sub EnvoiMail()
'Dim appOutlook As Outlook.Application, message As Outlook.MailItem
'Dim email As String, MaPJ As Attachments
Dim Ficjoint As String
Dim adresse, envoi As Workbook

Set adresse = Application.Workbooks.Open(ThisWorkbook.Worksheets(1).TextBox4.Text)

adresse.Activate
derligne = Range("A65535").End(xlUp).Row
For i = 2 To derligne
If Range("A" & i).Value <> vide Then

'lettre et methodologie en piece jointe
   'Ficjointb = ThisWorkbook.Worksheets(1).TextBox6.Text
   'Ficjointc = ThisWorkbook.Worksheets(1).TextBox7.Text
'sujet du mail
    suj = Range("C" & i).Value
'destinataire et fichier excel
    rep = Range("E" & i).Value & "\"
    Ficjoint = rep & "\" & Range("F" & i).Value
    Ficjointb = rep & "\" & Range("G" & i).Value
    Ficjointc = rep & "\" & Range("H" & i).Value
   dest = Range("A" & i).Value
   desta = Range("B" & i).Value

'Envoi des mails
Set appOutlook = CreateObject("outlook.application")
Set Message = appOutlook.CreateItem(olMailItem)
email = dest
emaila = desta
Set MaPJ = Message.Attachments
MaPJ.Add Ficjoint
MaPJ.Add Ficjointb
MaPJ.Add Ficjointc

With Message
    .Subject = suj
    .Body = ThisWorkbook.Worksheets(1).TextBox5.Text
    .Recipients.Add (email)
    .Cc = emaila
    .Send
End With
SendKeys "%{s}", True 'ne pas demander de confirmation d'envoi

End If
Next i
End Sub

Comme vous pouvez le constater nous créons autant de variable que nous avons de PJ.

Je me permets de mettre les fichiers utilisés.

D'avance je vous remercie de votre coup de main sur ce dossier .

Bonsoir,

Ci-joint un exemple : remplacement des 2 zones de texte par une liste (en violet)

Non testé, je n'ai pas Outlook.

Bouben

Bonjour Bouben,

Tout d'abord merci de ton retour. Je me suis peut être mal exprimé. Du coup tu m'as apporté une réponse qui ne correspond pas à ma demande réelle (mais je garde ce que tu m'as donné qui est intéressant dans d'autre cas).

En faite, je vais chercher les informations dans un tableau préformaté avec l'ensemble des informations (cf. pj). Chaque ligne (courriel envoyé à différents destinataires) à des PJ différentes.

Dans mon cas précis j'ai 3 PJ et la macro le signale. Le problème c'est que si je mets une colonne supplémentaire avec une 4ème PJ dans mon tableau, la macro ne fonctionne plus car j'ai stipulé que 3 PJ. Je souhaite ne plus avoir à toucher la macro même si le nombre de PJ change...

Ma demande est elle plus claire à ton sens ?

Le problème c'est que j'ai aucune idée de comment procéder pour parvenir à ce que je t'évoque...

Rechercher des sujets similaires à "probleme creation macro publipostage"