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 :

Envoi email vers adresse email dans textbox [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut Envoi email vers adresse email dans textbox
    Bonjour,

    J'aimerai, dans un USF, que l'envoi d'un mail (button_click) se fasse vers l'adresse que j'encoderai dans un TextBox.

    J'ai 5 champs à compléter, pour exemple:

    1. Numéro de Ticket : 123456789 TexTbox1
    2. Adresse email: Richard.branson@jaitropdesous.com Textbox2
    3. Nature de la demande: Demande urgente CheckBox1
    4. Status : Création checkbox2
    5. Description : Demande transmise aux préparateurs TextBox3


    Le rendu espéré:

    L'email s'envoi sans l'ouverture d'outlook (présent chez tous les utilisateurs).

    Le mail se composera:

    En objet: Votre ticket TexTbox1 + CheckBox1
    En corps de text, en fonction du checkbox choisi :
    " Bonjour,

    Votre demande TexTbox1 a été crée au Call Center Warehouse le "date du jour et heure".

    Description : TextBox3

    Statut : checkbox2

    Merci de nous communiquer votre numéro de call lorsque vous contactez notre Service."



    Est-ce possible en VBA facilement, ou alors ça parait trop compliqué?

    Merci,

    Damien

  2. #2
    Invité
    Invité(e)

  3. #3
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    Hello,

    Merci pour ton retour. Je ne comprend pas trop cette histoire de COD

    Sinon, j'ai déjà établi un code:

    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
    Sub EnvoiMail()
     
    Sub EnvoiMail()
     
        Dim MonOutlook As Object
      Dim MonMessage As Object
      Dim corps As String
     
      Set MonOutlook = CreateObject("Outlook.Application")
      Set MonMessage = MonOutlook.createitem(0)
      MonMessage.From = "xxx@xxx.xxx"
      MonMessage.to = UserForm1.TextBox2.Value
      MonMessage.Subject = "Call" & UserForm1.TextBox1.Value & UserForm1.ComboBox1.Value
     
     corps = "Bonjour,"
        corps = "Votre demande" & UserForm1.TextBox1.Value & Chr(13) & Chr(10)
        corps = corps & Chr(13) & Chr(10)
        corps = " a été crée au Call Center Warehouse le" & Chr(13) & Chr(10) & Now
        corps = "Description :" & UserForm1.TextBox3.Value & Chr(13) & Chr(10)
        corps = "Statut :" & UserForm1.ComboBox2.Value & Chr(13) & Chr(10)
     
      MonMessage.body = corps
      MonMessage.send
      Set MonOutlook = Nothing
    End Sub
    J'ai déjà un bon début avec ceci mais j'ai un soucis au niveau de l'expéditeur..
    Il expédie via l'adresse mail personnelle mais j'aimerai que le mail soit envoyé via une adresse mail générique que toute l'équipe utilise.;

    Le soucis se situe à ce niveau => MonMessage.From = "xxx@xxx.xxx"

    Une idée?

    merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    et mois je ne comprend pas ta question!

    CDO t'intersecte? Non?

    alors tu t'en fiche te as l’exemple Outlook!
    le lien ne répond pas à ta question mais à un autre poste!

    maintenant tu trouvera toutes tes réponse dans le lien pour peut que tu le lise!

    l'expéditeur c'est le compte Outlook on ne peux pas intervenir dessus!

  5. #5
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    maintenant tu trouvera toutes tes réponse dans le lien pour peut que tu le lise!
    Ok ,j'ai déjà lu la partie du post où tu es intervenu.

    Le gens qui utilise le vba peuvent pas utiliser internet du coup, je préfère m'adresser en direct à outlook vie le code que j'ai mis ci dessus.

    Je ne suis pas un pro du vba, tu m'excuseras

    l'expéditeur c'est le compte Outlook on ne peux pas intervenir dessus!
    Arf .. il va falloir que je trouve une astuce alors ..;

    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    dans le même lien je donne un exemple pour Outlook!

  7. #7
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    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
    Sub Test()
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopy:="DestinataireCopy.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopy:="DestinataireCopy.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com"
    End Sub
    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
        .BCC = DestinataireCopyCacher
        .Subject = Sujet
        .BodyFormat = 2
        .HTMLBody = Message
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
        .send
    End With
    End Sub
    À quel moment est-il indiqué depuis quelle boite mail s'envoi ...
    La seule solution que je peux trouver c'est .display afin d'ouvrir le mail et de changer l'adresse en manuel.

  8. #8
    Invité
    Invité(e)
    Par défaut
    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
    Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional Compte 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
        If Compte <> "" Then .SentOnBehalfOfName = Compte
        .To = Destinataire
        .CC = DestinataireCopy
        .BCC = DestinataireCopyCacher
        .Subject = Sujet
        .BodyFormat = 2
        .HTMLBody = Message
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
        .send
    End With
    End Sub
    Sub Test()
    Mail "Sujet", "Message", "Destinataire@gmail.com", Compte:="noreplay@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopy:="DestinataireCopy.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopy:="DestinataireCopy.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com"
    End Sub

  9. #9
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    Super !!

    C'est exactement ce qu'il me fallait.

    Merci pour les codes et les informations supplémentaires.

    Damien

  10. #10
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    Je solicite à nouveau ton aide.

    J'ai un problème au niveau du .Send, quand j'exécute la commande.

    Peux-tu, s'il te plaît, me renseigner?

    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
     
    Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional Compte 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
        If Compte <> "" Then .SentOnBehalfOfName = Compte
        .To = UserForm1.TextBox2.Value
        .CC = UserForm1.TextBox4.Value  'DestinataireCopy
        .BCC = DestinataireCopyCacher
        .Subject = "Votre demande  " & UserForm1.TextBox1.Value & "  " & UserForm1.ComboBox1.Value
        .BodyFormat = 3
        .HTMLBody = "<p style='font-family:calibri;font-size:18'>" & "Bonjour, <BR><BR>Votre demande " & UserForm1.TextBox1.Value & UserForm1.ComboBox2.Value & " au Bio Call Center Warehouse le " & UserForm1.txtDate.Value & " à " & Format(Now, "hh:mm:ss") & "."
     
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
       .Send
    End With
    End Sub
     
    Sub Send()
    Mail "Sujet", "Message", "", Compte:="XXX@xxx", Pj:="", DestinataireCopyCacher:=""
     
     
    End Sub
    D'avance, merci

    Damien

  11. #11
    Invité
    Invité(e)
    Par défaut
    Oui pas de problème, mais si tu m'en disais plus!

    Tu as un message qui te demande si tu veux exécuter la commande?
    Si oui c'est les options Outlook qu'il faut modifier pour autorisé la prise en main par un programme tiers!

  12. #12
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    En fait, le .send ne fonctionne pas car je dois remplir les champs BBC = DestinataireCopyCacher .
    J'ai juste besoin d'envoyer vers le destinataire .To et avec des gens en copie .CC mais le .BCC peut rester optionnel mais je n'y arrive pas ..

    Comment changer le code pour le rendre réellement optionnel?


    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
    Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional Compte 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
        If Compte <> "" Then .SentOnBehalfOfName = Compte
        .To = UserForm1.TextBox2.Value
        .CC = UserForm1.TextBox4.Value  'DestinataireCopy
        .BCC = DestinataireCopyCacher
        .Subject = "Votre demande  " & UserForm1.TextBox1.Value & "  " & UserForm1.ComboBox1.Value
        .BodyFormat = 3
        .HTMLBody = "<p style='font-family:calibri;font-size:18'>" & "Bonjour, <BR><BR>Votre demande " & UserForm1.TextBox1.Value & UserForm1.ComboBox2.Value & " au Bio Call Center Warehouse le " & UserForm1.txtDate.Value & " à " & Format(Now, "hh:mm:ss") & "."
     
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
        .Send
    End With
    End Sub
     
    Sub Send()
    Mail "Sujet", "Message", "UserForm1.TextBox4.Value", Compte:="BIO.Call.Center.Warehouse@gsk.com", Pj:="", DestinataireCopyCacher:=""
     
     
    End Sub

  13. #13
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    La fonction que je t'ai fournir et adapter pour gérer le compte est réellement optionnel!
    Tu l'utilise en modifiant le contenu de la macro mais dans le lien l'exemple Outlook (test) te montre que la fonction a des paramètres optionnel!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Test()
    Mail "Sujet", "Message", "Destinataire@gmail.com", Compte:="noreplay@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", Pj:="C:\MyTest\Classeur1.xlsm;C:\MyTest\Classeur11.xlsm", DestinataireCopy:="DestinataireCopy.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopy:="DestinataireCopy.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com", DestinataireCopyCacher:="DestinataireCopyCacher@gmail.com"
    Mail "Sujet", "Message", "Destinataire@gmail.com"
    End Sub
    Hormis la gestion du compte utilisateur, la sub mail fonctionne en paramétrable en natifs tu n'as pas a la modifier!

    Seule la sub test te montrer comment l'utiliser

    Non seulement tu as dépouillé tout mon travail et en plus tu n'arrive pas à tes fins!
    Dernière modification par Invité ; 22/10/2015 à 09h28.

  14. #14
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    Ok, je comprend mieux !!

    En tout cas un grand merci.

    J'optimise de mieux en mieux mon générateur de mail.
    Images attachées Images attachées  

  15. #15
    Invité
    Invité(e)
    Par défaut
    voila quoi devrait ressembler ton code!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Send()
    Sujet = "Votre demande  " & UserForm1.TextBox1.Value & "  " & UserForm1.ComboBox1.Value
    Message = "<p style='font-family:calibri;font-size:18'>" & "Bonjour, <BR><BR>Votre demande " & UserForm1.TextBox1.Value & UserForm1.ComboBox2.Value & " au Bio Call Center Warehouse le " & UserForm1.txtDate.Value & " à " & Format(Now, "hh:mm:ss") & "."
    Mail Sujet, Message, UserForm1.TextBox2.Value, Compte:="BIO.Call.Center.Warehouse@gsk.com", DestinataireCopy:=UserForm1.TextBox4.Value, DestinataireCopyCacher:="Moi@toto.fr"
    End Sub
    Code ne modifie plus rien dans cette sub! : 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
    Sub Mail(Sujet As String, Message As String, Destinataire As String, Optional Compte 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
         If Compte <> "" Then .SentOnBehalfOfName = Compte
        .To = Destinataire
        .CC = DestinataireCopy
        .BCC = DestinataireCopyCacher
        .Subject = Sujet
        .BodyFormat = 2
        .HTMLBody = Message
        If Trim("" & Pj) <> "" Then
            p = Split(Pj & ";", ";")
            For i = 0 To UBound(p)
                If Trim("" & p(i)) <> "" Then .Attachments.Add Trim("" & p(i))
            Next
        End If
        '.Display 'Can be .Send but prompts for user intervention before sending without 3rd party software like ClickYes
        .Send
    End With
    End Sub
    Dernière modification par Invité ; 22/10/2015 à 14h25.

  16. #16
    Membre averti
    Homme Profil pro
    Coordinator customer support
    Inscrit en
    Octobre 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Coordinator customer support
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 46
    Par défaut
    J'ai remis ton code au propre mais du coup j'ai une erreur au niveau de l'avandernière ligne "Mail Sujet" signale une erreur


    Nom : Capture1.PNG
Affichages : 949
Taille : 61,5 Ko

  17. #17
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Send()
    dim Sujeet as string,Message  as string
    Sujet = "Votre demande  " & UserForm1.TextBox1.Value & "  " & UserForm1.ComboBox1.Value
    Message = "<p style='font-family:calibri;font-size:18'>" & "Bonjour, <BR><BR>Votre demande " & UserForm1.TextBox1.Value & UserForm1.ComboBox2.Value & " au Bio Call Center Warehouse le " & UserForm1.txtDate.Value & " à " & Format(Now, "hh:mm:ss") & "."
    Mail Sujet, Message, UserForm1.TextBox2.Value, Compte:="BIO.Call.Center.Warehouse@gsk.com", DestinataireCopy:=UserForm1.TextBox4.Value, DestinataireCopyCacher:="Moi@toto.fr"
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2013] Exchange et redirection de certaines adresses email vers un serveur mailing-list
    Par nicopulse dans le forum Microsoft Office
    Réponses: 0
    Dernier message: 29/01/2015, 13h43
  2. [V6] Envoyer un email vers l'administrateur dans le cas de fin de contrat
    Par ghir_ana dans le forum Odoo (ex-OpenERP)
    Réponses: 0
    Dernier message: 08/08/2014, 19h03
  3. [XL-2003] Envois d'adresses email vers outlook
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/12/2012, 11h37
  4. envoi email vers adresse externe
    Par foulla dans le forum VB.NET
    Réponses: 5
    Dernier message: 28/12/2010, 13h44
  5. [MySQL] Envoi vers adresse email, traitement en PHP
    Par 512banque dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/05/2008, 18h36

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