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

Excel Discussion :

ajout d'une "msgbox" pour l'éxécution d'une macro.


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Points : 2
    Points
    2
    Par défaut ajout d'une "msgbox" pour l'éxécution d'une macro.
    bonjour messieurs,

    Je bute bètement sur un code CDO. l'idée de départ était l'éxécution d' un code qui par appuis sur un bouton envoyait un mail automatique à un groupe de personnes. ça fonctionnait plutot bien jusqu'a ce que j'essaie de complèter le code avec une "msgbox" (censé éviter les erreurs d'envoie). Cette "msgbox" demande simplement une confirmation avant envoie(deux bouton->"oui & cancel).
    Mon pb ç'est que je n'arrive pas "imbriquer" les deux codes de façon à ce que lorsque j'appuis sur "oui" la macro soit exécuté et quand je clic sur "cancel", que l'action soit annulée.Soit ça envoie quelque soit le bouton cliqué...
    Soit ça envoie sans cliquer; soit ça ne fonctionne carrément plus.

    voici mes codes:

    Sub Mail_workbook_Outlook_1()
    'Working in 2000-2010
    'This example send the last saved version of the Activeworkbook
    Dim OutApp As Object
    Dim OutMail As Object

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    On Error Resume Next
    With OutMail
    .To = "monculsurtonnez.com"
    .CC = ""
    .BCC = ""
    .Subject = "Alerte défaut projet MDE détecté FO"
    .Body = "bonjour," & vbCrLf _
    & vbCrLf _
    & "Ceci est un message automatique d'alerte vous prévenant d'un nouveau défaut MDEP détecté par un Front Office. Cliquer sur le lien hypertexte ci dessous pour le visualiser" & vbCrLf _
    & vbCrLf _
    & "<liens>" _
    & vbCrLf _
    & "l'équipe front office"

    'You can add other files also like this
    '.Attachments.Add ("C:\test.txt")
    .Send 'or use .Display
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
    End Sub

    ça c'est le code d'origine qui fonctonne par clic sur bouton...

    la "msgbox"

    Dim monResult as vbMsgBoxResult
    monResult = MsgBox("voulez vous difuser l'alerte ?", vbOKCancel, "confir")
    if monResult = vbok then

    else

    end if

    Ce qui serait sympa, ç'est que la personne souhaitant m'aider, m'insert la msgbox dans ma macro afin que je puisse comprendre comment ça fonctionne et etre autonome quand le cas ce représentera.

    Merci par avance.

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    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
    29
    30
    31
    32
    33
    34
    35
    Sub Mail_workbook_Outlook_1()
    'Working in 2000-2010
    'This example send the last saved version of the Activeworkbook
    Dim OutApp As Object
    Dim OutMail As Object
     
    If MsgBox("voulez vous difuser l'alerte ?", vbOKCancel, "confir") = vbOK Then
        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)
     
        On Error Resume Next
        With OutMail
            .To = "monculsurtonnez.com"
            .CC = ""
            .BCC = ""
            .Subject = "Alerte défaut projet MDE détecté FO"
            .Body = "bonjour," & vbCrLf _
                    & vbCrLf _
                    & "Ceci est un message automatique d'alerte vous prévenant d'un nouveau défaut MDEP détecté par un Front Office. Cliquer sur le lien hypertexte ci dessous pour le visualiser" & vbCrLf _
                    & vbCrLf _
                    & "<liens>" _
                    & vbCrLf _
                    & "l'équipe front office"
     
            'You can add other files also like this
            '.Attachments.Add ("C:\test.txt")
            .Send                                      'or use .Display
        End With
        On Error GoTo 0
        Set OutMail = Nothing
        Set OutApp = Nothing
    Else
        MsgBox "Envoi annulé par l'utilisateur"
    End If
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/01/2007, 16h27

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