Microsoft 365 Mail envoi automatique avec texte

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,
Je vous souhaite un bon WE :)

Me revoilà devant nos ténors pour un souci de "Mail envoi automatique avec texte"
J'ai pas mal avancé sur le sujet mais je n'arrive pas à terminer :

Besoin : Si en Cellule D6, je sélectionne "Abonnement mensuel," ou "Abonnement annuel,"
Je voudrais qu'un mail soit envoyé à l'adresse en Cellule H6 avec le contenu de la cellule F6

Je joins le fichier test,
Un grand merci par avance,
lionel :)
 

Pièces jointes

  • envoi mail.xlsm
    58.9 KB · Affichages: 8
Dernière édition:
Solution
Re

Imaginons que dans Outlook (en plus de mon compte par défaut j'ai ajouté) mon compte Hotmail.
(voir moult tutos sur le web pour ce faire)
Imaginons que je sois patient et que je lise religieusement les conseils qu'on me prodigue
Imaginons que je sois curieux
Maintenant qu'on a rendu hommage à John L. )
Allons faire un tour du côté d'Outlook (*) pour tester ce que Lionel aurait pu trouver depuis le message#4
(puisque le lien était donné par Kiki29)

(*) non je ne vais pas rendre hommage à Dave en plus ;)
(quoique 2022, c'est l'année Proust)
Ci-dessous code issu des pages de RDB
Enrichi (BBcode):
Sub Mail_small_Text_Change_Account()
'Only working in Office 2007 and higher
'Don't forget to set a reference to Outlook in the VBA editor...

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Marcel

Moi j'abandonne !

J'avais écrit dans le message#21
Enrichi (BBcode):
Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional DestinataireCopy As String, Optional DestinataireCopyCacher As String, Optional Pj As String = "")
Set objOutlook = CreateObject("Outlook.application")
Set MailObj = objOutlook.CreateItem(olMailItem)
With MailObj
    .To = Destinataire
    .CC = DestinataireCopy
    .Subject = Sujet
    .Body =Message
    .Send
End With
End Sub
Puis
C'est quand tu appelles ta macro Mail que tu renseignes ces "champs"
Code:
Sub Test()
Mail "abc", range("F6").Text,"toto@titi.fr","popo@pipi.fr"
End Sub
Et que lit--on dans le message#25 !
:rolleyes:

Désespérant à la longue
Désolé mais je n'y comprends. Tant:rolleyes: pi
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re :)
J'ai trouvé un code qui fonctionne parfaitement :
VB:
Sub SendMail_Outlook()
  Dim OL As Object
  Dim OLmail As Object
  Set OLk_Appli = CreateObject("Outlook.Application")
  If OLk_Appli.Explorers.Count > 0 Then
    'Ok outlook ouvert
  Else
    'mettre le bon chemin outlook
    OLk_OK = Shell("C:\Program Files\Microsoft Office\root\Office16\outlook.EXE", vbHide)
  End If
 
  Set OL = CreateObject("Outlook.Application")
  Set OLmail = OL.CreateItem(0)
 
    With OLmail
        .To = "lio@hotmail.fr" 'destinataire
        .Subject = "message de lionel"
        .Body = [f6].Value
        '.display
        .Send
    End With
  
    Set OLmail = Nothing
    Set OL = Nothing
    Set OLk_Appli = Nothing
End Sub

Bon sang : sauf qu'il m'ouvre Outlook alors que j'ai hotmail.com
Vous sauriez comment le diriger vers hotmail.com (qui est toujours ouvert) ?
Ce serait résolu et super ! :)
lionel :)
 

TooFatBoy

XLDnaute Barbatruc
Bonjour Marcel
Un bonjour dominical à toi, camarade. 👋


Moi j'abandonne !
Désespérant à la longue
Effectivement, c'est usant et Arthour le sait.
Il a visiblement d'énormes difficultés avec les choses du monde de la logique qui pour nous sont d'une évidente évidence.
Mais on est encore là pour essayer de le mener vers la lumière. 😉
Seul job réussi à lui fournir des codes qui lui conviennent.


Bon dimanche à tous
🖖
 

Staple1600

XLDnaute Barbatruc
C'est pourtant simple

Voici un exemple
Lance TestA
Puis Appel_de_la_Macro_parametrée
Code:
Sub TestA()
MsgBox "Bonjour, Lionel", vbInformation, "Premier message"
End Sub
Sub Test_A_avec_Paramtres(Message As String, iType As VbMsgBoxStyle, Titre As String)
MsgBox Message, iType, Titre
End Sub

Sub Appel_de_la_Macro_parametrée()
Test_A_avec_Paramtres "ReBonjour Lionel", vbInformation, "Second Message"
End Sub
Tu comprends mieux comment fonctionne une macro paramétrée ?
Une fois, la macro avec paramètres créée, on n'y touche plus.
C'est une autre macro qui appelle la macro paramétrée et c'est cette autre macro qui contient les parametres
(Dans mon exemple, c'est Appel_de_la_Macro_parametrée qui contient les paramètres)

NB: Pour info, c'est toi qui a posté une macro paramétrée
(mais mal rédigée)
D'où mon message 21
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
C'est pourtant simple

Voici un exemple
Lance TestA
Puis Appel_de_la_Macro_parametrée
Code:
Sub TestA()
MsgBox "Bonjour, Lionel", vbInformation, "Premier message"
End Sub
Sub Test_A_avec_Paramtres(Message As String, iType As VbMsgBoxStyle, Titre As String)
MsgBox Message, iType, Titre
End Sub

Sub Appel_de_la_Macro_parametrée()
Test_A_avec_Paramtres "ReBonjour Lionel", vbInformation, "Second Message"
End Sub
Tu comprends mieux comment fonctionne une macro paramétrée ?
Une fois, la macro avec paramètres créée, on n'y touche plus.
C'est une autre macro qui appelle la macro paramétrée et c'est cette autre macro qui contient les parametres
(Dans mon exemple, c'est Appel_de_la_Macro_parametrée qui contient les paramètres)

NB: Pour info, c'est toi qui a posté une macro paramétrée
(mais mal rédigée)
D'où mon message 21
Merci pour tes efforts JM :)
Mais désolé, voilà 2 jours que je suis sur le souci et je n'arrive plus à comprendre koi que ce soit.
Si tu as le bon code en partant du mien, je te remercie de me le donner sinon, c'est moi qui laisse tomber, je ne suis plus en état.
:)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Et ta boîte mail en hotmail.com tu ne l'ouvres pas avec Outlook ???

Faudrait peut-être finir par nous expliquer ce que tu veux exactement dire quand tu dis que "hotmail.com est ouvert"... 😉
Ben OUI, je n'ai pas Outlook et ma boite mail : TrucMachin@hotmail.com est ouverte en permanence.
Le code du #post32 fonctionne très bien :
sauf qu'il m'envoie sur Outlook
et j'ai besoin qu'il m'envoie sur TrucMachin@hotmail.com
autrement dit sur hotmail ... pas Outlook
Je ne sais pas expliquer mieux
:)
 

Staple1600

XLDnaute Barbatruc
Le code correctement rédigé en te basant sur la macro du message#20
est celui que j'ai posté dans le code#21.

Mon précédent message est pour expliquer comment on utilise une macro paramétrée.
(Ce n'est donc qu'une macro de test avec un MsgBox à seule vocation illustrative)

PS: Quand on parle d'Outlook, on parle du client de messagerie de Microsoft
(pas de ton adresse mail nom.prenom@outlook.com)

Ton compte de messagerie par défaut est lequel sur ton Windows ?
 

Discussions similaires

Réponses
1
Affichages
141
Compte Supprimé 979
C
Réponses
6
Affichages
326
Réponses
17
Affichages
1 K
Réponses
22
Affichages
2 K

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2