generaliser la macro sur plusieurs lignes

  • Initiateur de la discussion Initiateur de la discussion briatexte
  • Date de début Date de début

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 !

B

briatexte

Guest
Bonjour,

J'utilise une macro à travers un bouton qui fonctionne très bien.
Elle n'est utilisée que pour des cellules précises (h17,c17 et e17).
J'aimerai pouvoir la transformer pour positionner un bouton sur chaque ligne et qu'elle traite les éléments de la ligne concernée.

Est-ce possible?

Voici ma macro

Dim adresse As String
Dim expediteur As String
Dim responsable As String
Dim contenu As String
Dim Objet As String
Dim Envoi As String
Dim texte1 As String
Dim texte2 As String
Dim texte3 As String
texte1 = "Nous vous informons:%0A %0A"
texte2 = "%0A %0AL'expéditeur de cette signalisation est:%0A"
texte3 = "%0A %0ACe service à pour adresse mail: %0A"
adresse = Range("h17:hxxxxx")
expediteur = Range("e17:exxxxx")
contenu = Range("c17:cxxxx")
Objet = Msg & Range("d17:dxxxxx")
Envoi = "mailto:" & adresse & "?subject=" & Objet & "&body=" & texte1 & contenu & texte2 & expediteur & texte3
ActiveWorkbook.FollowHyperlink Address:=Envoi


Pouvez-vous m'aider?
 
Re : generaliser la macro sur plusieurs lignes

Bonjour,

J'ai un peu de mal à comprendre ce que tu souhaites exactement. Tu voudrais faire passer cette macro sur plusieurs lignes ?

Tu peux essayer comme ceci :

Code:
Dim adresse As String
Dim expediteur As String
Dim responsable As String
Dim contenu As String
Dim Objet As String
Dim Envoi As String
Dim texte1 As String
Dim texte2 As String
Dim texte3 As String
texte1 = "Nous vous informons:%0A %0A"
texte2 = "%0A %0AL'expéditeur de cette signalisation est:%0A"
texte3 = "%0A %0ACe service à pour adresse mail: %0A"
For i = 17 to xxxxxx
   adresse = Cells((i, 8)
   expediteur = Cells((i, 5)
   contenu = Cells(i, 3)
   Objet = Msg & Cells(i, 4)
   Envoi = "mailto:" & adresse & "?subject=" & Objet & "&body=" & texte1 & contenu & texte2 & expediteur & texte3
   ActiveWorkbook.FollowHyperlink Address:=Envoi
Next
 
Re : generaliser la macro sur plusieurs lignes

Bonjour Briatexte, GeoTrouvePas, bonjour le forum,

Comme je n'ai pas compris pareil que GeoTrouvePas, une autre solution. Avec une boite d'entrée (InputBox) qui demande à l'utilisateur de taper le numéro de la ligne. Numéro repris ensuite dans la macro... :
Code:
Public Sub m1()
Dim BE As Variant
Dim adresse As String
Dim expediteur As String
Dim responsable As String
Dim contenu As String
Dim Objet As String
Dim Envoi As String
Dim texte1 As String
Dim texte2 As String
Dim texte3 As String

ici:
BE = Application.InputBox("Tapez le numéro de ligne (à partir de 17)", "LIGNE", Type:=1)
If BE = False Then Exit Sub
If BE < 17 Then MsgBox "Ligne non valide !": GoTo ici
texte1 = "Nous vous informons:%0A %0A"
texte2 = "%0A %0AL'expéditeur de cette signalisation est:%0A"
texte3 = "%0A %0ACe service à pour adresse mail: %0A"
adresse = Cells(BE, 8)
expediteur = Cells(BE, 5)
contenu = Cells(BE, 3)
Objet = Msg & Cells(BE, 4)
Envoi = "mailto:" & adresse & "?subject=" & Objet & "&body=" & texte1 & contenu & texte2 & expediteur & texte3
ActiveWorkbook.FollowHyperlink Address:=Envoi
End Sub
 
Re : generaliser la macro sur plusieurs lignes

Pardon,

Je reviens pour remercier geotrouvepas, j'étais plongé dans mon travail:=))))).
Dernière question,
Je viens de me rendre compte que la fonction "mailto", telle que je l'ai sur la macro, était limitative dans le nombre de caractères du corp du mail.
Y a t-il un moyen de contourner cette limitation?

Cordialement,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

H
Réponses
6
Affichages
1 K
HOUDY
H
Réponses
3
Affichages
1 K
B
Réponses
13
Affichages
2 K
Bolschack
B
B
Réponses
7
Affichages
38 K
B
S
Réponses
2
Affichages
3 K
S
Retour