XL 2019 Dupliquer macro pour l'envoi de mail

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

HugoTR35

XLDnaute Nouveau
Bonjour à vous,

Dans un premier temps merci à ce forum d'exister il m'a dépatouillé de nombreuses fois, je me lance donc aujourd'hui à également demander votre aide.

J'ai créé un fichier Excel où je voudrais faire une macro pour l'envoi de mail en cliquant dessus,
j'utilise la macro suivante et je souhaiterai trouver une astuce pour passer à la ligne suivante sans recréer cette macro des centaines fois,

"Sub Ligne()

End Sub

Dim LeMail As Variant

Set LeMail = CreateObject("Outlook.Application") 'création d'un objet outlook

With LeMail.Createitem(olMailTeam) 'informe le programme que nous voulons envoyer un mail
.Subject = "Surveillance à réaliser"
.To = Range("c5:C3000") & ";" & Range("H5:H3000")
.Body = "Bonjour " & Range(" g5:G3000") & "," & vbCrLf & vbCrLf & "Vous avez des surveillances de compétences à réaliser le plus rapidement possible, pour " & Range("B5:B3000") & " concernant un " & Range("e5:E3000") & " de niveau " & Range("f5:f3000") & ", en " & Range("D5😀3000") & ", " & Range("B5:B3000") & " nous vous laissons le soin d'envoyer les documents necessaires à son évaluation," & vbCrLf & "Belle journée à vous deux. Cordialement "
.Send

End With"

Avez vous une idée ?
En espérant avoir été suffisamment clair ...

Belle soirée à vous et merci d'avance !
Cordialement

Hugo
 
Bonsoir Hugo, et bienvenu sur XLD,
Peut être un truc du genre :
VB:
Sub Envoie()
    Dim L%
    For L = 5 To Range("A65500").End(xlUp).Row
        EnvoieMailLigne L
    Next L
End Sub
Sub EnvoieMailLigne(N)
    Dim LeMail As Variant
    Set LeMail = CreateObject("Outlook.Application") 'création d'un objet outlook
    With LeMail.Createitem(olMailTeam) 'informe le programme que nous voulons envoyer un mail
        .Subject = "Surveillance à réaliser"
        .To = Cells(N, "C") & ";" & Cells(N, "H")
        .Body = "Bonjour " & Cells(N, "G") & "," & vbCrLf & vbCrLf & "Vous avez des surveillances de compétences à réaliser le plus rapidement possible, pour " & Cells(N, "B") & " concernant un " & Cells(N, "E") & " de niveau " & Cells(N, "F") & ", en " & Range("D5:D3000") & ", " & Cells(N, "B") & " nous vous laissons le soin d'envoyer les documents necessaires à son évaluation," & vbCrLf & "Belle journée à vous deux. Cordialement "
        .Send
    End With
End Sub
"Envoie" scrute toutes les lignes de la colonne A, et lance la macro "EnvoieMailLigne" pour chaque ligne.
"EnvoieMailLigne" est votre macro avec chaque range remplacé par le contenu d'une cellule correspondante.

Mais, évidemment, rien pu tester. 🙂
 
Merci Slylvanu pour cette réponse si rapide,

"Voici le résultats :

Sub EnvoieMailLigne(N)
Dim LeMail As Variant
Set LeMail = CreateObject("Outlook.Application") 'création d'un objet outlook
With LeMail.Createitem(olMailTeam) 'informe le programme que nous voulons envoyer un mail
.Subject = "Surveillance à réaliser"
.To = Cells(N, "B") & ";" & Cells(N, "g")
.Body = "Bonjour " & Cells(N, "f") & "," & vbCrLf & vbCrLf & "Vous avez des surveillances de compétences à réaliser le plus rapidement possible, pour " & Cells(N, "a") & " concernant un " & Cells(N, "d") & " de niveau " & Cells(N, "e") & ", en " & Range(N, "c") & ", " & Cells(N, "a") & " nous vous laissons le soin d'envoyer les documents necessaires à son évaluation," & vbCrLf & "Belle journée à vous deux. Cordialement "
.display
End With
End Sub"

Cela ne fonctionne pas et m'envoie sur la commande de débogage ...
Cela vient peut être du fait que j'ai supprimer la colonne A pour que mon tableau arrive bien sur celle-ci !
Je n'arrive pas à trouver l'erreur !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
923
Retour