IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Envoyer un mail uniquement depuis Excel.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut Envoyer un mail uniquement depuis Excel.
    Bonjour à la communauté.
    Je ne sais pas si c'est faisable, mais j'aimerais envoyer un mail directement depuis Excel.
    A toutes fins utiles, je n'ai que Thunderbird (pour utiliser son moteur, peut-être).
    J'ai souvent lu : "Set xOutlookObj = CreateObject("Outlook.Application")", et "Set xThunderObj = CreateObject("Thunderbird.Application")" fonctionnerait ?
    Je pense pouvoir m'en sortir avec la "mise en page", qui, je pense, se fera avec des balises HTML (j'ai bon ?).
    Bien à toi la communauté.
    Denis...

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour, voici la macro que j'utilise personnellement avec Thunderbird, à adapter selon tes besoins, j'ai mis les commentaires pour t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Sub EnvoyerMail()
        ' Déclarer les variables
        Dim ProgThunderbird As String
        Dim destinataires As Variant
        Dim copiecachee As String
        Dim sujet As String
        Dim texte As String
        Dim PieceJointe As String
        Dim destinataireActuel As Variant
     
        ' Affecter les valeurs aux variables
        ProgThunderbird = "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" ' Chemin du programme Thunderbird
        destinataires = Split("toto@laposte.net,titi@laposte.net", ",") ' Adresses des destinataires séparées par des virgules
        copiecachee = "tata@laposte.net" ' Adresse en copie cachée
        sujet = "Salut!" ' Sujet du mail
        texte = "Comment ça va ?" ' Texte du mail
        PieceJointe = "C:\Users\toto\Documents\titi\new 1.txt" ' Chemin du fichier à joindre
     
        ' Itérer sur la liste des destinataires
        For Each destinataireActuel In destinataires
            ' Construire la commande pour lancer Thunderbird avec les paramètres
            Dim monCourriel As String
            monCourriel = " -compose " & "to=" & destinataireActuel & "," & "bcc=" & copiecachee & "," & "subject=" & sujet & "," & "body=" & texte & "," & "attachment=" & PieceJointe
     
            ' Exécuter la commande pour ouvrir Thunderbird
            Shell ProgThunderbird & monCourriel, vbNormalFocus
     
            ' Attendre quelques secondes pour laisser l'interface de Thunderbird se charger
            Application.Wait Now + TimeValue("00:00:05") ' Attends 5 secondes (ajuste selon tes besoins)
     
            ' Envoyer le mail automatiquement (décommenter la ligne en enlevant l'apostrophe)
            'SendKeys "^{ENTER}", True
     
            ' Optionnel : Fermer Thunderbird après l'envoi (décommenter la ligne en enlevant l'apostrophe)
            'Application.Wait Now + TimeValue("00:00:02") ' Attends 2 secondes avant de fermer Thunderbird
            'SendKeys "%{F4}", True ' Fermer Thunderbird
     
            ' Attendre quelques secondes avant de passer au destinataire suivant
            Application.Wait Now + TimeValue("00:00:02") ' Attends 2 secondes (ajuste selon tes besoins)
        Next destinataireActuel
     
        MsgBox "Mails envoyés!"
     
    End Sub

  3. #3
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Bonjour Franc, et merci pour ton aide.
    Super sympas les commentaires, très utiles pour les novices tels que moi.
    Je regarde ça avec la plus grande attention ce week-end, si je trouve le temps.
    Encore un grand merci.
    Bien à toi la communauté.
    Denis...

  4. #4
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Bon, je n'ai pu me retenir...
    Tout se passe bien, mais rien n'est envoyé...
    Les fenêtre de message restent toutes ouvertes.
    J'ai tenté un "Application.Send" avant le "Next destinataireActuel", mais ce n'est pas reconnu...
    Et pourtant, j'ai bien le MsgBox de fin.

  5. #5
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    tu as bien enlevé les apostrophes de certains commentaires comme expliqué dans le code ?

  6. #6
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Oui, j'ai bien tout fais.
    J'ai envoyé à deux boites qui sont les miennes : rien dans la boite d'envoi et rien dans la réception des autres boites.
    Peut-être un conflit entre les différentes boites de Thunderbird ?
    J'ai aussi réécris la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ProgThunderbird = "C:\Users\[Utilisateur]\AppData\Local\Mozilla Thunderbird\thunderbird.exe"

Discussions similaires

  1. [Débutant] Envoyer un mail VBA depuis un fichier Excel sur Sharepoint
    Par Alex BI dans le forum SharePoint
    Réponses: 0
    Dernier message: 08/07/2019, 13h24
  2. Envoyer un mail avec fichier excel attaché
    Par ____nannou dans le forum VBA Access
    Réponses: 8
    Dernier message: 23/01/2009, 13h32
  3. Réponses: 4
    Dernier message: 17/09/2008, 16h22
  4. Envoyer des mails à partir d'excel
    Par triaguae dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2007, 17h01
  5. Envoyer un mail Lotus d'EXCEL
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/10/2007, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo