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. 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
    2. 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. 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. 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