Créer un message d'erreur sous Excel

Résolu
pat_naish Messages postés 11 Statut Membre -  
pat_naish Messages postés 11 Statut Membre -
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

  1. néné
     
    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
  2. pat_naish Messages postés 11 Statut Membre 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
    3
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
    1
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. néné
     
    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é
    0
    1. pat_naish Messages postés 11 Statut Membre 7
       
      Merci,
      cette solution marche pour moi!!!!

      Pat
      0