Créer un message d'erreur sous Excel [Résolu/Fermé]

Signaler
Messages postés
10
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
26 février 2010
-
Messages postés
10
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
26 février 2010
-
Bonjour,

Je cherche à créer un message d'erreur sous Excel qui apparaitrait seulement lorsque plus de 5 cellules d'une meme colonne ont été remplies.
J'ai tenté de trouver une solution en attribuant un 1 à chaque cellule remplie, et ensuite de faire la somme dans une autre cellule.
Cette cellule, je l'avais paramétrée avec Données>Validations de telle sorte que si la somme n'est pas comprise entre 0 et 5 un message s'affiche.
Mais cette solution ne marche pas si le résultat de la cellule provient d'une autre cellule.

Merci pour votre aide

Pat

5 réponses

Bonjour,
Sélection la colonne B par exemple

puis Données puis Validation puis sélectionne "Personnalisée"

colle cette formule

=SI(NBVAL(B:B)<6;VRAI)

clic ensuite sur l'onglet "Alerte erreur" saisi le message d'erreur de ton choix

Robert René
http://utilsfr.new.fr
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Messages postés
10
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
26 février 2010
7
Ok, merci pour l'info.
Ta solution marche :-), mais en fait pas dans mon cas :-(

J'ai omis de mentionner que dans ma colonne mettons la B, les seules valeurs que l'on peut mettre proviennent d'une liste.
Par conséquent, le fait de faire Données>Validation et de sélectionner Personnalisée, cela supprime ma liste.

Quelqu'un a t'il une idée pour conserver ma liste tout en indiquant un message d'erreur si plus de 5 cases sont remplies?

Replaçons le contexte:
Il s'agit d'1 questionnaire dans lequel il y a 15 critères. Et je voudrai que les interviewés choisissent seulement les 5 critères (d'ou le besoin d'afficher un message d'erreur si plus de 5 critères sont évalué) et d'autre part, les classent par ordre de préférence de 1 à 5 (d'ou ma liste de valeur qui va de 1 a 5).

Idéalement, j'aimerai cette liste se réduise. Par exemple, si un critère a été sélectionné et qu'il a été évalué a 3 par exple, j'aimerai que pour le prochain critère sélectionné, 3 n'apparaissent plus dans la liste de choix.
Je demande peut être l'impossible là, mais encore une fois si quequ'un peut m'aider ce serait TOP!

Merci
Messages postés
25329
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
30 septembre 2020
5 505
Bonjour pat-Naish
Sur la même base que la proposition de néné, vous pouvez travailler autrement, par exemple
Réservez une cellule visible pour votre message
Dans une cellule hors champ, appelons là X1, rentrez la formule:
=NBVAL(B:B)
ou alors si vos cellules ne sont pas contigues:
=NBVAL(B1;B5;B8;B12) qui sont les références de cellules à remplir séparées par des ;
Dans la cellule réservée pour le message, entrez la formule:
=SI(X1>5;"5 réponses seulement","")

Pour parfaire la présentation, vous pouvez affiner le raisonnement avec:
en X1 ce que l'on vient de dire
en X2 le texte du message
Dans la cellule d'alerte,
=si(X1>5;X2;"")
Et pour terminer:
Dans la cellule d'alerte, que nous supposons en C1:
Barre des tâches / Mise en forme condtionnelle / la formule est :
=$C$1=$X$2
Format: Choisir votre format:Motif rouge par exemple, ou écriture différente etc....


Espérant vous avoir aidé, bien que cette solution soit seulement informative et non contraignante
Messages postés
25329
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
30 septembre 2020
5 505
Une autre option plus amusante:
Utilisez 2 feuilles de classeur:Feui1 & Feuil2
Question EN A1, réponse EN B1
Sur Feuil1
Colonne A placer vos questions
Colonne B placer la formule=
=Feuil2!B1 etc... pour chaque ligne de question
Protégez la feuille et masquez là(format /feuille/ masquer)
Sur feuil2
réservez la colonne B pour les réponses/ Placer la même formule que message précédent en X1Colonne A pour chaque ligne de question, placez la formule:
=si(ESTEXTE(B1);Feuil!1A1;si($X$1>5;"";si($X$1=5;"";si($X$1>5;"";Feuil1!A1)
avec cette solution, lorsque vous aurez donné 5 réponses, le reste des questions va disparaitre et réapparaitra si vous en otez une.
A noter toutefois que ceci n'empêche pas d'écrire plus de cinq réponses,(chaque ligne réapparaissant une à une quand on remplit la cellule B correspondante) mais donne au moins un signal fort.
Il ne reste plus qu'à faire deux macro toutes bêtes pour faire apapraitre Feuil1, protégée, avec le questionaire complet rempli, ou Feuil 2 à remplir dans les conditions ci dessus:
A tout hasard:
SubFEUIL1
Sheets ("Feuil1").Visible = True
Sheets ("Feuil2").Visible=False
ActiveSheet.Visible=False

et évidemment la même en inversant Feuil1 & 2 pour le retour!
Amusant?
BCRDLMNT





Science sans conscience n'est que ruine de l'Ame
Bonjour,

Essai ce code a mettre en événement sur ta feuille

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myRange1 As Range
Set myRange1 = Range("B:B") 'ici colonne B
Mavariable = Application.WorksheetFunction.CountA(myRange1)
If Mavariable > 5 Then
MsgBox "ton message d'erreur"
Else
End If
End Sub

néné
Messages postés
10
Date d'inscription
jeudi 13 septembre 2007
Statut
Membre
Dernière intervention
26 février 2010
7
Merci,
cette solution marche pour moi!!!!

Pat