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 :

Msg d'alerte au démarrage. [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Msg d'alerte au démarrage.
    Bonjour,

    Je désirerai faire apparaître, au démarrage, un msg d'alerte selon certaines conditions.

    En feuil 1, je dispose d'indicateurs. Parfois ces indicateurs sont au vert, à l'orange ou au rouge en fonction des chiffres associés.

    Je voudrais savoir comment faire pour si la valeur d'une cellule est soit :
    - Supérieure à un chiffre
    - Compris entre 2 valeurs
    - Inférieure à un chiffre
    - ou tout simplement sans aucune condition requise

    qu'un msgbox apparaissent à l'ouverture de mon fichier Excel en disant :

    Attention, vous avez :
    - W actions en cours
    - X fiches en retard d'analyse
    - Y fiches en retard de traitement
    - Z audits à réaliser

    Sachant que les valeurs W, X, Y et Z sont respectivement en cellules A3, B7, F9 et K2

    Pour W, le message doit apparaître si la valeur en A3 est <0 à 0
    Pour X, le message doit apparaître si la valeur en B7 est > à 5
    Pour Y, le message doit apparaître si la valeur en F9 est comprise entre 2 et 6
    Pour Z, le message doit apparaître quelque soit la valeur en K2

    Merci à ceux qui m'apporteront une solution.

    Cordialement.

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, dans module ThisWorkbook, à tester et éventuellement adapter ( Feuil1 est le CodeName de la feuille dont on teste le contenu et pas le nom d'onglet ! )

    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
    Option Explicit
     
    Dim bW As Boolean, bX As Boolean
    Dim bY As Boolean
     
    Private Sub Workbook_Open()
        bW = False: bX = False: bY = False
     
        If Feuil1.Range("A3").Value <= 0 Then bW = True
        If Feuil1.Range("B7").Value > 5 Then bX = True
        If Feuil1.Range("F9").Value <= 6 And Feuil1.Range("F9").Value >= 2 Then bY = True
     
        MsgOuv
    End Sub
     
    Private Sub MsgOuv()
    Dim sStr As String
        sStr = ""
        If bW Then sStr = Feuil1.Range("A3") & vbTab & " actions en cours" & vbCrLf
        If bX Then sStr = sStr & Feuil1.Range("B7") & vbTab & " fiches en retard d'analyse" & vbCrLf
        If bY Then sStr = sStr & Feuil1.Range("F9") & vbTab & " fiches en retard de traitement" & vbCrLf
        sStr = sStr & Feuil1.Range("K2") & vbTab & " audits à réaliser" & vbCrLf
     
        If Len(sStr) > 0 Then MsgBox sStr, vbOKOnly + vbInformation, "Infos"
    End Sub

  3. #3
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Bonjour et merci,
    Je viens de tester en faisant quelques petites modifs (car mon nom de feuil est different de feuil1 ainsi que les cellules). Mais je rencontre une erreur en faisant dérouler la macro avec F8, lorsque j'arrive à MsgOuv()
    J'ai mis le code dans Thisworkbook sur BeforeOpen, j'ai été obligé de supprimer 'Option Explicit' de votre code.

    Voici le code modifié :
    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
     Private Sub Workbook_Open() 
    ' Message d'alerte
     
    Dim bW As Boolean, bX As Boolean
    Dim bY As Boolean, bZ As Boolean
     
        bW = False: bX = False: bY = False: bZ = False
     
        If Sheets("Accueil").Range("G32").Value <= 0 Then bW = True
        If Sheets("Accueil").Range("D27").Value > 0 Then bX = True
        If Sheets("Accueil").Range("F9").Value <= 6 And Sheets("Accueil").Range("F9").Value >= 2 Then bY = True
        bZ = True
     
        MsgOuv
    End Sub
     
    Private Sub MsgOuv()
    Dim sStr As String
        sStr = ""
        If bW Then sStr = Sheets("Accueil").Range("G32") & " actions en cours" & vbCrLf
        If bX Then sStr = sStr & Sheets("Accueil").Range("D27") & " fiches en retard d'analyse" & vbCrLf
        If bY Then sStr = sStr & Sheets("Accueil").Range("F9") & " fiches en retard de traitement" & vbCrLf
        If bZ Then sStr = sStr & Sheets("Accueil").Range("K2") & " audits à réaliser" & vbCrLf
     
        If Len(sStr) > 0 Then MsgBox sStr, vbOKOnly + vbInformation, "Infos"
    End Sub
     
     
    End Sub

  4. #4
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    J'ai cherché, j'ai trouvé :
    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
    ' Message d'alerte
     
    Dim bW As Boolean, bX As Boolean
    Dim bY As Boolean, bZ As Boolean
     
        bW = False: bX = False: bY = False: bZ = False
     
        If Sheets("Accueil").Range("G32").Value <= 0 Then bW = True
        If Sheets("Accueil").Range("D27").Value > 0 Then bX = True
        If Sheets("Accueil").Range("E27").Value > 0 Then bY = True
        'If Sheets("Accueil").Range("F9").Value <= 6 And Sheets("Accueil").Range("F9").Value >= 2 Then bY = True
        bZ = True
     
     Dim sStr As String
        sStr = ""
        If bW Then sStr = Sheets("Accueil").Range("G32") & " actions en cours" & vbCrLf
        If bX Then sStr = sStr & Sheets("Accueil").Range("D27") & " fiches en retard d'analyse - Niveau 2" & vbCrLf
        If bY Then sStr = sStr & Sheets("Accueil").Range("E27") & " fiches en retard de traitement - Niveau 2" & vbCrLf
        If bZ Then sStr = sStr & Sheets("Accueil").Range("D38") & " audits à réaliser" & vbCrLf
     
        If Len(sStr) > 0 Then MsgBox sStr, vbOKOnly + vbInformation, "Infos"

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, c'est vraiment n'importe quoi. On te fournit qqch de propre et tu le cochonnes. En plus tu n'as rien compris au CodeName.

  6. #6
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Citation Envoyé par kiki29 Voir le message
    Salut, c'est vraiment n'importe quoi. On te fournit qqch de propre et tu le cochonnes. En plus tu n'as rien compris au CodeName.
    Pourquoi tant de haine ?
    Je n'ai rien cochonné, j'ai juste corrigé pour que ça fonctionne avec mon fichier.
    J'estime que si je pose une question, c'est que je n'ai pas la science infuse, donc je fais appel aux bonnes âmes charitables.

    Je ne sais même pas ce qu'est un code Name.

    Merci quand même.

    Sinon, si vous n'êtes pas trop fâché, pouvez vous m'expliquer comment mettre dans ce msgbox, une valeur en pourcentage, s'il vous plaît ?
    Dans ma cellule J7, j'ai 24,8% mais dans ma msgbox, j'ai 0.2475487454
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sStr = sStr & Sheets("Accueil").Range("J7") & " du référentiel documentaire est à jour" & vbCrLf
    Cordialement

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

Discussions similaires

  1. [XL-2010] Msg Alerte au démarrage
    Par graphikris dans le forum Excel
    Réponses: 1
    Dernier message: 24/11/2014, 18h07
  2. [AC-2003] Message d alerte au démarrage de mon appli
    Par adelsunwind dans le forum IHM
    Réponses: 1
    Dernier message: 06/04/2009, 12h24
  3. Réponses: 6
    Dernier message: 02/03/2007, 09h44
  4. [VBA -A]Code pour répondre au question des msg d'alertes
    Par soad029 dans le forum VBA Access
    Réponses: 8
    Dernier message: 23/03/2006, 12h21
  5. Réponses: 2
    Dernier message: 09/10/2004, 20h45

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