Créer un message d'erreur sous Excel

Résolu
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. 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
    1. 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
      1. Contributeur
        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
        1. Contributeur
          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
          1. 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. Merci,
              cette solution marche pour moi!!!!

              Pat
              0