VBA - MsgBox selon la valeur d'une cellule

Signaler
Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020
-
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
-
Bonjour à tous,

Merci d'avance pour votre aide.
Je suis débutant avec VBA sur Excel.
J'ai besoin de faire apparaître un MsgBox selon la valeur d'une plage de cellules données.
Par exemple :

Si dans la plage (A1:A41) les valeurs affichées sont supérieures à 29,99 un MsgBox doit apparaître avec un "texte X"

Il faut tenir en compte que dans la plage des cellules il y a une formule qui donne le résultat.

Un grand merci à tous

Gustavo

3 réponses

Messages postés
29903
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 octobre 2020
2 899
Bonjour

Et qu'as tu débuté ?
Sur quoi bloques tu ?

Penche toi sur l'événement private sub worsheet_change(target)

Target contient la cellule modifiée

Il ne te reste plus qu'à faire des if... Et le tour est joué


Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020

Merci jordane45,
Je vais regarder si j'arrive à faire quelque chose avec ta suggestion, bien que ça ne me dit pas comment avec cet événement je peux faire apparaître un MsgBox quand une cellule X dépasse le chiffre 29,99.
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
716
bonjour, à quel moment le message doit-il apparaître? à l'ouverture du fichier?
tu écris "les valeurs affichées sont supérieures à 29,99": tu veux n'afficher le message que si toutes les valeurs sont supérieures?
Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020

Pas nécessairement à l'ouverture du fichier.
Le message doit apparaître toute de suite lorsque la valeur d'un groupe de cellules, par exemple (''A1:A50'') dépasse ce chiffre.
Exactement, je veux que le message apparaisse seulement si la valeur est supérieure à 29,99.
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
716 >
Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020

qu'est-ce qui fait que les valeurs vont changer? que contiennent les formules?
il y a 41 valeurs, tu n'as pas décris si tu voulais avoir le message dès qu'une seule des valeurs dépasse 29,99, ou bien si toutes dépassaient?
Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020

Les valeurs de chaque cellule change car chacune de cellule se réfère à une autre cellule qui fait une addition. La cellule en question fait une moyen du montant sur 52, par exemple.

Cellule A1 contient la formule suivante : =B1/52
Cellule B1 contient la formule suivante : SOMME(B2:B12)

Quand la cellule A1 dépasse 29,99, un message texte doit s'afficher.

Donc, lorsque une ou plusieurs cellules du range (''A1:A50'') atteignent 30 ou plus, le message texte s'affiche.
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
716
et le message va recommencer à s'afficher, aussi longtemps qu'une des cellules dépasse 30?
Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020
>
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020

Bonne question, il faudrait que le message n'apparaisse qu'une seule fois par cellule et dans le message apparaisse à quelle cellule se référer.
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
716 >
Messages postés
5
Date d'inscription
mercredi 15 janvier 2020
Statut
Membre
Dernière intervention
24 janvier 2020

il faudrait donc enregistrer quelque part (dans une cellule quelque part) si il faut, ou pas, faire apparaître le message.
comme que tu es débutant en VBA, je suppose que tu peux faire cela.