VBA ou Excel: Message d'avertissement

Fermé
fflintt - 3 sept. 2011 à 13:59
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 5 sept. 2011 à 07:29
Bonjour,
un appel à tous... j'ai un gros fichier à balancer et puis je crée des formules qui doivent toujours être égalent à 0. Il peut arriver qu'avec les manipulations d'un utilisateur... la valeur de la cellule qui contient cette formule va changer spontanément. Le danger est de continuer à travailler dans le fichier lorsque ces cellules de validation ne sont pas égales à 0. Des suggestions, peut-on s'en sortir avec les validation d'Excel ou c'Est préférable d'y aller avec VBA?

Un énorme merci à tous

A voir également:

5 réponses

Raymond PENTIER Messages postés 58821 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 janvier 2025 17 268
4 sept. 2011 à 22:59
Bonjour à vous tous.

Je maintiens mon affirmation du post #2.
Il suffit de sélectionner la plage contenant les données (J4:K8 dans l'exemple soumis par fflintt au post #3) et d'y appliquer comme validation personnalisée la formule =SOMME($G:$G)=0

Personnellement je conseillerais de remplacer, dans l'onglet "Alerte d'erreur", le style Arrêt par le style Avertissement afin de ne pas bloquer complètement l'utilisation de la feuille ...

Cordialement.
2
Raymond PENTIER Messages postés 58821 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 janvier 2025 17 268
4 sept. 2011 à 23:09
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 5/09/2011 à 08:03
Salut raymond,

Effectivement, mais je pense que ce n'est pas adapté à son cas.
Voir ici où je développe.
Ou alors bloquer les saisies suivantes...
eric
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 3/09/2011 à 15:44
Le danger est de continuer à travailler dans le fichier lorsque ces cellules de validation ne sont pas égales à 0
Quel est le danger ?
0
Raymond PENTIER Messages postés 58821 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 17 janvier 2025 17 268
3 sept. 2011 à 15:56
Les règles de validation sont parfaitement adaptées à ton problème.
0
Bonjour, une validation est entrée dans la colonne en Jaune(G) qui autorise seulement la valeur 0. Il s'Agit d'une formule qui soustrait la colonne F de la colonne E. Voici l'adresse du fichier:

http://www.cijoint.fr/cjlink.php?file=cj201109/cijI5V3keC.xlsm

La validation fonctionne lorsque je saisi des montants dans la colonne G qui sont différents de 0.

Le problème, c'Est que G4 à G7 sont des formules et lorsque leurs valeurs changent, l'avertissement ne vient pas... Quelqu'un a une idée pour être averti lorsque les formules en jaunes changent de valeur???
Merci à l'Avance
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 3/09/2011 à 21:09
Bonsoir,

Comme tu l'as bien montré les validations ne réagissent que sur une saisie.

Par contre les MFC réagiront elles.
Tu peux mettre en rouge les cellules qui ne conviennent pas, et indiquer leur nombre (en rouge toujours s'il y en a) à un emplacement toujours visible (en A1 avec les volets figés par exemple).
Cette même valeur peut alerter sur les cellules de saisie également (toutes, mais l'utilisateur le voit dès la saisie)
Ca ne bloquera pas la saisie mais ça alertera l'utilisateur. Quand il a fini ses saisies il ne doit pas y avoir de rouge...

Sinon il faut passer en vba et réfléchir sur l'exemple précis et complet.

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
3 sept. 2011 à 21:54
Le problème est de savoir quelles cellules provoquent le passage à 0 de la formule.
Tu peux utiliser une validation sur la cellule qui provoque le changement de la cellule cible.
Dans ton exemple, en E4 et en F4, tu mets une validation personnalisée avec pour formule =$G$4=0

0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
3 sept. 2011 à 22:26
Bonsoir patrice,

personnellement je crains qu'il ne faille plusieurs saisie avant d'évaluer le 0, style 10+20-30.
Dès la première saisie on n'a plus 0, difficile de l'interdire et de n'autoriser que la saisie de 0 ;-)
eric
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
4 sept. 2011 à 20:30
Bonjour Eriiic

Effectivement il sera difficile d'interdire une valeur provoquant un résultat à 0 mais par contre si il s'agit d'un message d'avertissement ou d'information lorsque la valeur n'est pas nulle (comme dans l'exemple) c'est plus efficace qu'une MFC qui n'apparait qu'une fois la valeur validée.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
5 sept. 2011 à 07:27
Bonjour patrice,

Oui, c'est vrai que ça ne pourrait être qu'un message d'avertissement.
Mais en l'occurence saisir ces 3 valeurs : 10, 20, -30 seraient les saisies correctes à faire puisqu'on s'attache à la somme qui doit être nulle. L'utilisateur ne va pas valider un message pour chaque saisie correcte...
Faire l'inverse, mettre un message si la somme est nulle reste ponctuel. Je reprend le travail, si je n'ai rien de visuel pour me dire qu'actuellement c'est ok, soit je contrôle tout, soit je continue sur une erreur.
Je reste persuadé qu'une MFC qui récapitule toutes les sommes est plus adaptée dans son cas.

eric
0