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 :

Code VBA - déclenchement automatique message Box en cas de dépassement d'une valeur par rapport à une autre [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Par défaut Code VBA - déclenchement automatique message Box en cas de dépassement d'une valeur par rapport à une autre
    bonjour

    je voudrais l'ouverture automatique d'une message box qui avertit l'utilisateur du dépassement de valeur d'une Cellule ( sommant les valeurs d'une colonne) en comparaison d'une autre cellule contenue dans la même feuille

    je suppose que cette macro doit être placée au niveau de ma feuille mais quelle est la méthode à employer.. ?
    merci pour votre aide et un exemple simple de code que je pourrais tester

  2. #2
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    Clic droit sur le nom de la feuille; Puis "Voir Code ou View Code"
    Choisissez "WorkSheet" dans la liste déroulante, puis "Change" dans les événements à droite
    En principe vous aurez qq chose, comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Par défaut Avez-vous un exemple simple de code complet pour Target ?
    J'avais en effet pensé assigner à la variable Target le nom de mon range ( ici la référence de la Cellule sommant la colonne) et la tester par rapport à l'autre cellule

    pensez-vous que mon code infra à un sens ? je l'ai en tout cas testé, mais ça n'est pas concluant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    sub Assez-Credit()
    Target = range("$A$2").value
    if Target.value > range($b$2).value then msgbox " vous n'avez pas assez de crédit"
    end if
    end sub
    cependant, ça n'a pas fonctionné


    Au

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Dans l'hypothèse ou tu veux comparer la somme de la colonne B avec la cellule A1 de l'onglet FEUIL1 à l'ouverture du classeur , tu peux faire un module et tu appelle ce module lors de l’éventement workbook.open.
    module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub sommecolonneB()
     
    Dim MaPlage As Range
    Dim MaSomme As Single
    Set MaPlage = Sheets("Feuil1").Columns(2)
     
    MaSomme = Application.WorksheetFunction.Sum(MaPlage)
    If MaSomme > Sheets("Feuil1").Range("A1").Value Then
    MsgBox ("La somme de la colonne B est de : " & MaSomme & " dépasse la valeur cible qui est de : " & Sheets("Feuil1").Range("A1").Value)
    End If
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    Call sommecolonneB
    End Sub
    si tu veux avoir ce message non pas à l'ouverture mais lors de l'ajout d'une valeur dans la colonne B dans ce cas Worksheet_Change

  5. #5
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 253
    Par défaut
    Hello,
    l'utilisation d'un surlignage ( texte en rouge par exemple) est peut-être plus judicieux que l'utilisation d'une messageBox . Dans ce cas on peut utiliser une mise en forme conditionnelle.
    Exemple :
    Nom : xlMefCond.PNG
Affichages : 272
Taille : 18,6 Ko

    Ami calmant, J.P

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 3
    Par défaut merci pour la suggestion Format conditionnel
    bonjour

    cependant, je désire plutôt utiliser la MSGBOX dans mon cas
    en effet, la valeur à comparer avec mon solde figure tout en bas d'une longue colonne ( cellule sommant les valeur de la colonne) , ce qui fait qu'un formatage conditionnel ne serait pas d'office apparent - un pop-up serait donc plus approprié dans mon mon cas

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

Discussions similaires

  1. Code VBA Déverouilage automatique de cellules
    Par ABBATO dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/09/2018, 18h41
  2. Code VBA Déverouilage automatique de cellules
    Par ABBATO dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 10/09/2018, 01h34
  3. [XL-2007] Code VBA remplacement automatique par une liste de mots
    Par summerfllore dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 23/06/2016, 09h19
  4. [XL-2003] Associer Cellule à un code VBA + tri automatique
    Par Razekiel_ dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 10/07/2012, 14h59
  5. [XL-2003] Code VBA pour répondre au Box
    Par PeaceMaker dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 16/04/2009, 17h50

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