Microsoft 365 Adresse mail dans VBA

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,
 

Kajdrak

XLDnaute Nouveau
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 =....." :)
 

Kajdrak

XLDnaute Nouveau
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 ;)
 

Francky79

XLDnaute Occasionnel
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,
 

Kajdrak

XLDnaute Nouveau
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...?
 

Francky79

XLDnaute Occasionnel
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 :confused:
Pas facile le VBA o_O
 

Sequoyah

XLDnaute Nouveau
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
 

Discussions similaires

Réponses
7
Affichages
591

Statistiques des forums

Discussions
315 093
Messages
2 116 130
Membres
112 667
dernier inscrit
foyoman