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

VBA Outlook Discussion :

Créer un bouton envoi de mail


Sujet :

VBA Outlook

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Créer un bouton envoi de mail
    Bonjour,

    Je vous contacte car j'aurais besoin d'aide d'experts ( je suis novice) pour créer sur VBA un bouton alerte mail.
    Je m'explique: Le fichier est en PJ

    Dans la colonne L je saisi manuellement une adresse mail. Dans la colonne P je voudrai ajouter un bouton envoi de mail avec le texte " Bonjour, Un plan de prévention est à reprogrammer".
    Quand je clique sur ce bouton le mail est envoyé à la personne de la ligne L correspondante .

    J’espère que je suis clair.

    J'ai essayer de "bidouiller" avec ce que je trouvais sur le net mais impossible d'arriver à mes fin ...

    Merci d'avance en tout cas et bonne journée !!!Copie de Plan de prévention.xlsm
      0  0

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Bonjour,
    Voici deux lectures :


    Peux-tu déjà nous dire ce que tu as fait comme code ?
      0  0

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Bonjour.

    Redirigé sur Outlook/VBA. Ca n'a pas grand chose à voir avec Excel
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      0  0

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Ce n'était que des copié coller du net je n'arrive pas à adapter à mon cas je n'y connais pas grand chose.

    les liens que tu m'a envoyer ne m'aident pas bcp non plus ...
      0  0

  5. #5
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    Voici un exemple pour envoyer un Email avec Outlook.


    il faut commenter/de-commenter les parties selon tes besoins. (enlever le ')

    Pour ton projet, il faudrait que tu expliques, plus précisément, ce que tu veux faire

    combien de bouton envoyer auras-tu , s'il y en a qu'un tu souhaite envoyer à toutes les lignes ou seulement la ligne active, etc...

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub ExempleNewMail()    'modèle baba
    '---------------------------------------------------------------------------------------
    ' Procedure : ExempleNewMail
    ' Author    : Oliv
    ' Date      : 28/09/2018
    ' Purpose   :
    '---------------------------------------------------------------------------------------
    '
     
        Dim OL As Outlook.Application
        If UCase(Application) = "OUTLOOK" Then
            Set OL = Application
        Else
            Set OL = CreateObject("outlook.application")
        End If
        Dim MESSAGE As Outlook.MailItem
        Dim objRecipient As Outlook.Recipient
     
        Set MESSAGE = OL.CreateItem(olMailItem)
        With MESSAGE
            .Subject = "Mon Objet"
     
            'Soit on ajoute un Corps en TEXTE BRUT
            .BodyFormat = olFormatPlain
            .Body = "Voici le coprs du Mail" & vbCr & " A la ligne"
     
            'Soit on ajoute un Corps en HTML
            .BodyFormat = olFormatHTML
            .HTMLBody = "<html><body> <font face=""arial""><p>Bonjour,</p><p>Ceci est un exemple de Message HTML</p><p>Il faut utiliser des balises HTML pour formater le texte.</p><p>En <strong>gras</strong>, <em>Italic</em>, <u>Souligné</u></p><BR><p>Je suis passé à la ligne</p><p>Voici un lien hypertexte.</p>" & _
                        "<a href=""mailto:Joe.User@MyCompany.com"">Joe User</a></font></body></html>"
     
            'Ajout d'un destinataire principal
            Set objRecipient = .Recipients.add("toto@toto.com")
            objRecipient.Type = olTo    'olBCC, olCC, olOriginator ou olTo.
            objRecipient.Resolve
     
            'Ajout d'un destinataire en copie
            Set objRecipient = .Recipients.add("titi@toto.com")
            objRecipient.Type = olCC    'olBCC, olCC, olOriginator ou olTo.
            objRecipient.Resolve
            '
            'Ajout d 'une PJ
            Dim MaPJ
            MaPJ = "c:\temp\monPDF.PDF"
            'on verifie d'abord qu'elle existe.
            If DIR(MaPJ) <> "" Then
                .Attachments.add MaPJ
            End If
     
            'ajout ar lecture
            .ReadReceiptRequested = True
     
            'Soit je l'affiche
            .Display
            'Soit je l'envoi
            '.Send
        End With
    End Sub
      0  1

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Salut.

    Ce serait quand même plus simple d'avoir une fonction qui reçoit les données en paramètres, je pense, plutôt qu'une procédure dans laquelle on doit aller trifouiller en fonction de l'utilisation et la source des données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function SendMail(Sender As String, Recipients As String, Object As String, Message As String)
    ...
    End Function
    A décliner selon que l'on envoie du html ou du texte brut, qu'il y a ou non des fichiers attachés. Sinon, on va encore partir sur une discussion qui tire sur Outlook et sur Excel avec un code mer*** à la fin.

    Il faut découper le processus en éléments simples qui font UNE chose. Une chose est d'envoyer un mail, une chose est d'aller chercher les données pour envoyer un mail. Si on mélange les deux dans une procédure foutoir, c'est la misère. De plus, on a ainsi un outil générique qui peut être utilisé sans soucis plusieurs fois dans le même projet, et être mis de côté pour une réutilisation dans d'autres projets. Sans cela, on réinvente la roue à chaque fois
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      0  0

  7. #7
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Oui bien sûr, mais là c'est pour apprendre ...
      0  1

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Plus précisément:

    1 bouton par ligne et quand je clique sur le bouton d'une ligne il envoie le mail à la personne correspondante de la ligne
      0  0

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Il faut sérier et isoler les problèmes...

    Envoyer un mail via Outlook, que ce soit par Excel ou autre, n'est vraiment pas compliqué du tout, et des exemples existent dans nos FAQ. Ca devient compliqué lorsque tu dois aller trifouiller un code pour commenter/décommenter, nettoyer des trucs sans rien y comprendre (style code html) alors qu'au départ tu n'as probablement pas besoin de cela. C'est encore beaucoup plus simple lorsque l'on applique les bonnes pratiques de programmation (fonctions paramétrées et non données en dur dans le code comme dans l'exemple fourni, entre autres). Forcément, si on complique (inutilement), ça devient (inutilement) compliqué.

    Au départ, envoyer un mail n'est en rien lié à Excel, surtout si tu utilises une fonction (tant qu'à apprendre, autant apprendre les bonnes techniques dès le début, c'est mille fois plus simple que d'apprendre les mauvaises en pissant du code puis en essayant de corriger. Je ne comprends pas comment on ne comprend pas cela ).

    Sais-tu envoyer un mail Outlook avec une fonction? Une réponse de type Oui/Non me permettra te t'aiguiller vers la meilleure démarche, sinon, on va partir dans tous les sens (tant qu'à me répéter)
    Oui => la discussion n'a rien à voir avec Outlook. Je la ferme et ton problème revient (peut-être car pas clairement circonscrit) à un problème de poser un bouton (DES boutons, un par ligne, est une super mauvaise idée)...
    Non => Essaie déjà d'écrire une fonction sur base du code d'Oliv, sans te préoccuper d'Excel pour l'instant.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      0  0

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2018
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Je ne comprend rien à ce que vous me dite, je suis novice comme je l'ai dit précédement

    Tant pis je vais trouver une autre solution

    merci et bonne journée
      0  0

  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Tu prends le problème par le mauvais bout.

    Tu essaies d'abord de placer des boutons sur une feuille Excel pour envoyer des mails avant même de savoir comment envoyer des mails. C'est là que le bât blesse. Et donc, les solutions qui vont t'être proposées seront inévitablement des bricolages incroyables auxquels tu ne comprendras rien.

    Puisque tu es débutant, et c'est loin d'être une tare, apprends de suite les bonnes méthodes, au lieu de devoir, alors que tu es débutant, aller trifouiller dans du code en commentant, décommentant, remplaçant des chaines de caractères par d'autres sans rien y comprendre (soi-disant pour apprendre...). On n'apprend rien de cette manière, sauf à produire de la m***.

    Coder, ça vient tout à la fin du processus: D'abord, bien énoncer son problème (tu l'as fait), puis le diviser en petites tâches clairement définies (je l'ai fait pour toi): envoyer un mail, puis placer un bouton sur une feuille pour déclencher l'envoi du mail avec les bonnes infos.

    Et je t'ai demandé: Sais-tu envoyer un mail en VBA? (je suppose que non). Tant que tu ne sais pas faire cela, il ne sert à rien d'essayer de placer un bouton ou des boutons sur une feuille Excel. Il te revient donc de découper ta problématique (nous pouvons t'y aider) puis d'avancer pas à pas sur sa mise en place technique. En l'occurrence, la présente discussion ne peut mener à rien
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      0  0

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/07/2017, 19h35
  2. Créer un bouton d'envoi de mail automatique
    Par aperrottet dans le forum Word
    Réponses: 3
    Dernier message: 25/02/2013, 16h17
  3. Bouton envoi de mail
    Par nouxtywe dans le forum InfoPath
    Réponses: 5
    Dernier message: 23/05/2009, 21h17
  4. [MySQL] Création d'un bouton envoi de mail
    Par philippe57460 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/07/2008, 10h20
  5. Créer un script qui envoie un mail
    Par diamonds dans le forum Linux
    Réponses: 15
    Dernier message: 18/03/2007, 15h45

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