Copier macro sur plusieurs lignes

Bonjour à tous,

J'ai besoin de votre aide. J'ai créé une macro me permettant d'envoyer un mail depuis excel avec thunderbird avec un bouton.

Le destinataire du mail est renseigné dans la colonne J de mon tableau EXCEL.

Voici mon code :

Sub RelanceFormateur()

Dim destinataire, cc, sujet As String

destinataire = Range("J4")

cc = Range("J4")

sujet = "Émargement manquant " & "dispositif " & Range("B3")

text1 = "Bonjour," & "<br><br>"

text2 = "Vous êtes intervenu(e) en qualité de formateur sur le stage suivant :" & "<br><br>"

text3 = "Identifiant du dispositif : " & Range("B3") & " : " & Range("C3") & "<br>"

text4 = "Date(s) : " & Range("H3") & "<br><br>"

text5 = "Or sauf erreur de ma part, je n'ai pas reçu la liste d'émargement." & "<br><br>"

text6 = "Je vous remercierai de me la retourner dès que possible" & "<br><br>"

text7 = "Bien cordialement"

body = text1 & text2 & text3 & text4 & text5 & text6 & text7

strcommand = "C:\Program Files\Mozilla Thunderbird\thunderbird"

strcommand = strcommand & " -compose " & "to='" & destinataire & "'"

strcommand = strcommand & "," & "subject=" & sujet & sujet1 & ","

strcommand = strcommand & "body='" & body & "'"

Call Shell(strcommand, vbNormalFocus)

End Sub

Ma question est la suivante : comment copier cette macro sur toutes les lignes de mon tableau ?

C'est à dire qu'elle prenne en compte le destinataire renseigné en cellule J5, J6, et ainsi de suite. Et évidement décaler de la même manière les autres cellules renseignées dans les différentes parties de ma macro.

Je ne vois pas comment je peux faire à part le faire manuellement sur chacune des lignes de mon tableau (jusqu'à 200 lignes).

Si quelqu'un pouvait m'éviter de créer autant de bouton que de ligne...

Un grand merci à ceux qui pourront m'aider

Steven

Bonjour Steven542304

Voici ce qu'il faut faire

Sub RelanceFormateur()
Dim Ligne As Long
Dim destinataire, cc, sujet As String

' Récupérer le numéro de la ligne sélectionnée
Ligne = Selection.Row
destinataire = Range("J" & Ligne)

A+

Merci beaucoup BrunoM45, mais ça ne marche pas.

Si j'ai bien compris ça aurait dû me demander sur quelle ligne je veux activer cette macro ?

Belle journée

Steven

Re,

steven542304 a écrit :

Merci beaucoup BrunoM45, mais ça ne marche pas.

Si j'ai bien compris ça aurait dû me demander sur quelle ligne je veux activer cette macro ?

Belle journée

Steven

Absolument pas

Je supposai que le code était activé depuis un bouton, si tel est/était le cas, le destinataire serait celui de la ligne sélectionnée

Ligne = Selection.Row

Le reste du code c'est toi qui l'a fait

A+

Aaaaah merci beaucoup, je suis tellement novice en VBA que j'avais pas compris que cela fonctionnait sur la ligne sélectionnée.

En revanche, autre question :

Dans mon corps de mail j'utilise les différentes données contenues dans les cellules.

Par exemple :

text1 = "Bonjour," & "<br><br>"

text2 = "Vous êtes intervenu(e) en qualité de formateur sur le stage suivant :" & "<br><br>"

text3 = "Identifiant du dispositif : " & Range("B3") & " : " & Range("C3") & "<br>"

text4 = "Date(s) : " & Range("H3") & "<br><br>"

text5 = "Or sauf erreur de ma part, je n'ai pas reçu la liste d'émargement." & "<br><br>"

text6 = "Je vous remercierai de me la retourner dès que possible" & "<br><br>"

text7 = "Bien cordialement"

Comment faire de même, en changeant les cellules en fonction de la ligne selectionnée ?

Un grand merci par avance,

Steven


Je viens de trouver, j'aurai du chercher par moi même avant de poser la question.

Il suffisait de remplacer Range("H4") par exemple, par Range("H" & ligne)

Merci beaucoup

Belle journée

Steven

Rechercher des sujets similaires à "copier macro lignes"