Microsoft 365 Adresse mail dans VBA

  • Initiateur de la discussion Initiateur de la discussion Francky79
  • 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 !

Francky79

XLDnaute Occasionnel
Bonjour à tous,

Dans le code ci-dessous, je ne sais pas comment rajouter l'adresse mail de l'expéditeur.

VB:
Private Sub Envoyer_Mail_Toto_Click()
Application.ScreenUpdating = False
Dim oOutlook As Object
   Set oOutlook = CreateObject("outlook.application")
  
   Dim oMail As Object
   Set oMail = oOutlook.Createitem(0)

   With oMail

       Dim oObjetWord As Object
       Set oObjetWord = .GetInspector.WordEditor
      
       .To = Range("E6").Value
       .Subject = "Cde " & Range("G6").Value
       .Body = Range("P96:V106").Select 'ActiveCell
       Selection.Copy
       oObjetWord.Range(0).Paste
       .Display
    End With
    ActiveWindow.SmallScroll ToRight:=-9
    Application.ScreenUpdating = True

End Sub

Merci pour votre aide,
 
Bonjour à tous,

Dans le code ci-dessous, je ne sais pas comment rajouter l'adresse mail de l'expéditeur.

VB:
Private Sub Envoyer_Mail_Toto_Click()
Application.ScreenUpdating = False
Dim oOutlook As Object
   Set oOutlook = CreateObject("outlook.application")
 
   Dim oMail As Object
   Set oMail = oOutlook.Createitem(0)

   With oMail

       Dim oObjetWord As Object
       Set oObjetWord = .GetInspector.WordEditor
     
       .To = Range("E6").Value
       .Subject = "Cde " & Range("G6").Value
       .Body = Range("P96:V106").Select 'ActiveCell
       Selection.Copy
       oObjetWord.Range(0).Paste
       .Display
    End With
    ActiveWindow.SmallScroll ToRight:=-9
    Application.ScreenUpdating = True

End Sub

Merci pour votre aide,
Il me semble qu'au dessus de ".To" tu peux faire un ".From =....." 🙂
 
Je pensais aussi, mais ça ne marche pas.
je voudrais plusieurs codes avec des adresses différentes.
Suivant la macro que je lance je peux choisir l'adresse de l'expéditeur.

Merci de votre aide.
Ca ne marche pas du tout ? Ou ce n'est pas adapté à ton problème ?
Car dans ce cas une solution simple serait d'afficher un Userform avec des boutons, et chacun des boutons ferait un envoi différent (par une adresse mail différente). Et du coup avec une variable "x" en public, qui serait ton adresse mail, le clic sur chaque bouton de ton Userform changerait cette variable par l'@MAIL souhaitée, et ferait continuer la macro.
Ce n'est qu'une expression d'idée, si besoin de plus de détails sur le code genre "comment déclarer ma variable en public" ou "Comment faire le userform", je ou autre personne pourra peut-être voir pour aller plus dans les détails 😉
 
VB:
Private Sub Envoyer_Mail_Acno_Click()
Application.ScreenUpdating = False
Dim oOutlook As Object
   Set oOutlook = CreateObject("outlook.application")
  
   Dim oMail As Object
   Set oMail = oOutlook.Createitem(0)

   With oMail

       Dim oObjetWord As Object
       Set oObjetWord = .GetInspector.WordEditor
      
       .From = f.toto@titi.fr
       .To = Range("E6").Value
       .Subject = "Cde " & Range("G6").Value
       .Body = Range("P96:V106").Select 'ActiveCell
       Selection.Copy
       oObjetWord.Range(0).Paste
       .Display
    End With
    ActiveWindow.SmallScroll ToRight:=-9
    Application.ScreenUpdating = True

End Sub

J'ai modifié le code en mettant un From mais ça beug.
Je voudrais juste rajouter une adresses expèditeur.
Plus simple pour moi.

Merci,
 
VB:
Private Sub Envoyer_Mail_Acno_Click()
Application.ScreenUpdating = False
Dim oOutlook As Object
   Set oOutlook = CreateObject("outlook.application")
 
   Dim oMail As Object
   Set oMail = oOutlook.Createitem(0)

   With oMail

       Dim oObjetWord As Object
       Set oObjetWord = .GetInspector.WordEditor
     
       .From = f.toto@titi.fr
       .To = Range("E6").Value
       .Subject = "Cde " & Range("G6").Value
       .Body = Range("P96:V106").Select 'ActiveCell
       Selection.Copy
       oObjetWord.Range(0).Paste
       .Display
    End With
    ActiveWindow.SmallScroll ToRight:=-9
    Application.ScreenUpdating = True

End Sub

J'ai modifié le code en mettant un From mais ça beug.
Je voudrais juste rajouter une adresses expèditeur.
Plus simple pour moi.

Merci,
Et si tu mets l'adresse entre guillemets...?
 
VB:
Private Sub Envoyer_Mail_Acno_Click()
Application.ScreenUpdating = False
Dim oOutlook As Object
   Set oOutlook = CreateObject("outlook.application")
 
   Dim oMail As Object
   Set oMail = oOutlook.Createitem(0)

   With oMail

       Dim oObjetWord As Object
       Set oObjetWord = .GetInspector.WordEditor
     
       Olmail.SentOnBehalfOfName = "f.toto@titi.fr"
       .To = Range("E6").Value
       .Subject = "Cde " & Range("G6").Value
       .Body = Range("P96:V106").Select 'ActiveCell
       Selection.Copy
       oObjetWord.Range(0).Paste
       .Display
    End With
    ActiveWindow.SmallScroll ToRight:=-9
    Application.ScreenUpdating = True

End Sub

juste au dessus de .To= ?
Ca ne marche pas non plus 😕
Pas facile le VBA 😵
 
Bonjour à tous,🙂

à tester

remplacer la ligne:

VB:
Olmail.SentOnBehalfOfName = "f.toto@titi.fr"

avec le code:

Code:
Set .SendUsingAccount = oMail.Session.Accounts.Item(3)

où le nombre entre parenthèses représente le numéro d’ordre du compte
 
- 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
4
Affichages
372
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
650
Réponses
2
Affichages
730
Retour