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 :

alertes avec création d'une message box sous excel.


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Points : 63
    Points
    63
    Par défaut alertes avec création d'une message box sous excel.
    Bonjour,

    J'aimerais savoir si il est possible de créer une alerte qui déclenchera l'ouverture d'une message box?
    En effet, j'aimerais que lorsqu'une condition n'est pas respectée, une message box apparaisse me demandant la raison pour laquelle la condition n'est pas respectée et que suite à l'explication cela me remplisse une cellule avec la raison.


    Merci de votre aide.

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    mess as string
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if condition non respectée then
     
         mess = msgbox("Pourquoi la condition n'est'elle pas respectée")
    end if
     
    range("tacellule") = mess

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Points : 63
    Points
    63
    Par défaut
    Comment fait-on cela sous excel? désolé mais je ne maitrise pas excel.

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    Je viens d'arriver chez moi, je veux bien t'aider mais si tu ne maitrises pas excel et, j'imagine, encore moins le VBA, on va y aller par étape.
    ...j'aimerais que lorsqu'une condition n'est pas respectée, ..
    déjà la il faut en savoir un peu plus afin que je puisse t'aider à coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if condition non respectée then
    dans quelle cellule est la condition et dans quelle cellule est l'entrée de l'utilisateur ?
    Quelle cellule faut'il remplir avec le texte du msgbox ? <= inputbox

    PS : D'ailleurs je viens déjà de faire une erreur, ce n'est pas par msgbox mais par inputbox qu'il faut passer, mais nous verrons ça

    je t'expliquerai ensuite comment faire

    a +

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Points : 63
    Points
    63
    Par défaut
    Par exemple :

    demande 20
    stock 10
    raison

    il faudrait avoir l'alerte su la condition si stock < demande



    merci de ton aide.

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Comme tu ne me dis ou sont tes cellules, pour que tu comprennes, fais un essai sur fichier vierge.

    1 - ouvres un nouveau fichier
    2 - cliques sur alt +f11
    3 - dans la fenêtre la plus à gauche, cliques sur "feuil1(feuil1)"
    4 - dans la fenetre à droite, au niveau du premier ascenseur, cliques sur worksheet
    normalement, en dessous, tu devrais voir ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub
    tu peux supprimer ce code.

    maintenant copies le code ci-dessous en selectionnant tout (et ctrl C)
    et copies le dans la fenetre vba (ctrl V)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim mess As String
     
    If Target.Address = "$A$3" Then
       If Range("A3") > Range("A2") Then
          mess = InputBox("Pourquoi la condition n'est'elle pas respectée")
          Range("A4") = mess
       End If
    End If
    End Sub
    retournes dans excel, inscris 20 en A2, 30 en A3 mets le message que tu veux dans l'inputbx et vois le résultat
    les explications viendront après

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Points : 63
    Points
    63
    Par défaut
    ok c'est le comportement qu'il me faut cool. un peu d'explications?
    Merci

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    on choisit dans quel evenement declencher le code, ci-dessous le code agit dès qu'on change quelque chose dans la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_Change(ByVal Target As Range)
    ci-dessous, on doit déclarer une variable qui va permettre de prendre le message, le "as string" pour dire que cette variable sera du texte
    ci-dessous si la cellule est A3, le code est provoqué (si on ne précise pas, il agirait sur toutes les cellules et tu aurais des surprises)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Address = "$A$3" Then
    2eme condition, tu l'as comprise si A3 est supérieur à A2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A3") > Range("A2") Then
    on provoque la boite de dialogue et grace à la variable, le texte tapé est stocké dans celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mess = InputBox("Pourquoi la condition n'est'elle pas respectée")
    et on range le texte dans A4
    fin de la deuxieme condition 30 > 20
    fin de la première condition (adresse cellule = A3)
    fin du code
    comme je ne pourrai pas te faire un cours, si tu es intéressé, tu trouveras tout ce dont tu as besoin sur ce site

    Bonne soirée

Discussions similaires

  1. Propriété d'une Message Box avec boutons YesNoCancel
    Par eric4459 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/11/2014, 20h52
  2. Réponses: 3
    Dernier message: 05/06/2006, 16h45
  3. FAQ : problème avec création d'une requete en VBA
    Par Oluha dans le forum VBA Access
    Réponses: 14
    Dernier message: 14/02/2006, 13h05
  4. [C/C++] afficher des doubles dans une message box
    Par lalaurie40 dans le forum MFC
    Réponses: 1
    Dernier message: 24/05/2005, 15h55
  5. afficher une "message box"
    Par requiemforadream dans le forum ASP
    Réponses: 2
    Dernier message: 19/04/2005, 17h11

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