Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro avec variable

  • Initiateur de la discussion Antoine
  • Date de début
A

Antoine

Guest
Bonjour à vous

Je lance cette macro d´envoi d email à partir de plusieurs endroits dans mon classeur.
Chaque lancement a un sujet de message différent.

Sujet de message
(Ces cellules contiennent des textes que je souhaiterai assembler)

CAs 1 : SUjet de message : Fueille1!A1 + Feuille1!B2
Cas 2 : Sujet de message : Feuille1!A1 + Feuille2!B2
Cas 3 : Sujete de Message :Feuille1!A1 +Feuille3!B2



Private Sub CommandButton1_Click()

Call envoiMessageLienFichier()
J´imagine quíl faut que je donne les variables de ma macro. Comment fait-on?


sub envoiMessageLienFichier()
Dim oOutlook As New Outlook.Application
Dim oMessage As Outlook.MailItem

Set oMessage = oOutlook.CreateItem(olMailItem)

With oMessage
.Subject = 'le sujet du message' à mettre en variable
.Body = 'bonjour , ' & vbLf & 'Ci joint le lien vers le fichier ' & vbLf & _
'file://' & Application.Substitute(ThisWorkbook.FullName, ' ', '%20')
.Display
End With
End Sub


Merci d´avance pour votre aide
 

Riddick

XLDnaute Occasionnel
Bonjour a toi

Je pense que tu veux passer des parametre a ta macro et pas des variables???
En regle générale tu as:

Sub MaMAcro(parametre as string)
Code.........
End sub

Dans l'appel de ta macro

Private Sub CommandButton1_Click()
MaMacro(Valeur_parametre)
End sub

En esperant t'avoir aider....
 

Riddick

XLDnaute Occasionnel
Private Sub CommandButton1_Click()
Dim Sujet as string
If cas1 then sujet= Feuille1!A1 & Feuille1!B2
If cas2 then sujet= Feuille1!A1 & Feuille2!B2
If cas3.......

Call envoiMessageLienFichier(sujet)



sub envoiMessageLienFichier(Le_Sujet as string)

Dim oOutlook As New Outlook.Application
Dim oMessage As Outlook.MailItem

Set oMessage = oOutlook.CreateItem(olMailItem)

With oMessage
.Subject = Le_Sujet
.Body = 'bonjour , ' & vbLf & 'Ci joint le lien vers le fichier ' & vbLf & _
'file://' & Application.Substitute(ThisWorkbook.FullName, ' ', '%20')
.Display
End With
End Sub

Voilà pour ton exemple
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…