Macro redondante

Bonjour,

J'ai un petit problème concernant une MsgBox. Je m'explique:

J'ai crée un classeur excel pour un planning contenant une feuille par mois. Sur chaque feuille se trouve du matériel en ligne et les jours en ordonnées. Sur une ligne, j'ai la somme de tout le matériel par jour soit en fonction de la colonne désignée. J'aimerai créer une message box qui apparaît lorsque le total dépasse une valeur x . J'ai donc écrit ceci:

Private Sub Worksheet_Calculate()

If Range("D147") > 95 Then MsgBox "ATTENTION, LIMITE DU STOCK DEPASSEE", vbExclamation, ""

End Sub

Le problème c'est qu'une fois que j'ai cliqué sur "ok", je sélectionne une autre case pour entrer une autre valeur, la MsgBox réapparaît car le total de la première case dépasse toujours. Or j'ai besoin de voir la MsgBox apparaître, mais seulement une seule fois.

Pouvez-vous m'aider?

Merci

Bonjour,

Il existe plusieurs solutions possibles ...

Il me semble que la plus simple serait que tu choisisses un autre évènement ... du genre Worksheet_Change(ByVal Target As Range) ...

Merci de votre réponse!

Je suis novice en code alors pourriez-vous m'expliquer ou me montrer?

Re,

Par exemple ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address <> "$D$147" Then Exit Sub
If Target.Value > 95 Then MsgBox "ATTENTION, LIMITE DU STOCK DEPASSEE", vbExclamation, ""
End Sub

Merci mais aucune msg Box ne s'affiche...

GiloOw a écrit :

Merci mais aucune msg Box ne s'affiche...

Effectivement ... le message s'affiche lorsque l'utilisateur choisit la cellule ...

Pour lui faciliter la vie ... il suffit d'ajouter :

Private Sub Worksheet_Activate()
Range("D147").Select
End Sub

Ah! Je me suis mal exprimé...

Le but c'est que lorsque l'on entre des valeur dans les cases de la colonne, lorsque le total tout en bas dépasse une valeur, une MsgBox apparaisse et n’apparaisse qu'une fois. Si on clique sur le ok, elle ne reviendra plus. C'est juste pour afficher une information unique.

Re,

OK ... je comprends mieux ..

Comme je te l'ai indiqué ... il existe un large éventail de solutions ...

Peux-tu joindre ton fichier .. pour pouvoir sélectionner la solution la plus adaptée à ta situation ...

Le fichier est trop volumineux

J'ai mis un screen. Cela concerne la ligne 147. Elle Fait les totaux de chaque colonne. Et c'est lorsque le total dépasse 95 que la valeur change de couleur et devrait m'afficher une msgbox. Mais une seule fois, car sinon, en touchant une autre valeur, la msgbox réapparaît...

capture

Re,

Pourrais-tu créer un fichier test dans lequel il n' y aurait qu'un seul onglet :la copie de la Feuille de Février ...???

Oui voila le Fichier!

8planning.xlsx (83.89 Ko)

Bonjour,

Ci-joint ton fichier à tester ...

12test-giloow.xlsm (85.15 Ko)

Je n'ai pas de MsgBox qui s'affiche...

GiloOw a écrit :

Je n'ai pas de MsgBox qui s'affiche...

Bonjour,

Je n'ai rien changé à ta macro de base ...

Ta MsgBox ne s'affiche que lorsque la cellule D147 est plus grande que 95 ...

Justement chez moi ça ne marche pas.. iL ne se passe rien...

Re,

Dans l'exemple joint, le test a besoin que l'on active la feuille ... car tu travaillais avec une macro évènementielle ...

La question est de savoir si tu as besoin de cela ... ou d'un test de validation à la saisie ... cela je n'en sais rien ...

9test-giloow.xlsm (85.15 Ko)

Lors de la saisie...

Re,

8test-giloow.xlsm (85.15 Ko)

Toujours pas... Je dois oublier une manip?

J'ouvre le fichier, j'active les modif et j'essai de mettre en D 146 le nombre 96 pour qu'en D 147 le nombre 96 se mette aussi mais rien ne se passe...

Re,

Désolé ... Je crois bien que je me suis planté ... dans les fichiers joints ... en ne modifiant pas le nom ...

Rechercher des sujets similaires à "macro redondante"