XL 2016 Problème sur une validation de cellule

fanch55

XLDnaute Barbatruc
Salut à tous,

Je sèche depuis près de 3 heures sur un problème de validation de donnée.

Le but est de saisir le score d'une partie de pétanque.
La contrainte est la suivante ( entre autres traitées par code) :
La valeur doit être comprise entre 0 et 13 et ne doit pas être identique à celle qui la côtoie
On doit démarrer avec les cases vides
( pas des zéros, car le zéro est prohibé dans la pétanque et signifie "Fanny" et nos amis joueurs sont superstitieux ... 😁)

Dans le classeur joint, j'ai mis 2 paires de cases avec des validations de données,
Chaque paire a sa propre méthode .
Chaque case a en validation la formule qui est dans la cellule à sa gauche ou à sa droite selon sa position,
( formules ou résultats visibles avec ctrl+" )
il suffit de modifier la formule de la cellule pour que celle de la validation en hérite ( via le Worksheet_Change ) .
Ce qui me permet de tester/vérifier immédiatement une formule de validation .
Ce n'est pas ce qui existe dans le classeur cible, c'est juste pour exemple et débogage.

Bon, le pb :
s'il y a une case vierge dans la paire, cela ne fonctionne pas, un chiffre comme -1 ou 14 passe la validation ( mais pas les formules qui les côtoient !!!)
s'il y a des chiffres dans les 2 cellules de la paire, cela fonctionne comme attendu ....
A première vue, c'est la comparaison des cellules qui dysfonctionne ...🤔
Je m'en arrache les cheveux ... 😵‍💫
 

Pièces jointes

  • pbValidation.xlsm
    15.5 KB · Affichages: 5

TooFatBoy

XLDnaute Barbatruc
C'est presque ça mais la formule laisse passer les nombres négatifs.
Certes, il est peu probable qu'on saisisse de tels nombres mais il faut le prévoir .
Dans ce cas, il faut aussi penser à gérer le cas des nombres décimaux. ;)

Tu n'obtiens pas ce que tu veux avec :
Autoriser : Nombre entier
Données : comprise entre
Minimum : 0
Maximum : 13

Ca ne marche pas non plus avec avec une liste de choix ?
 
Dernière édition:

fanch55

XLDnaute Barbatruc
Bravo @Marcel32 et @Phil69970 , 👍

Les formules ad hoc fonctionnent si "Ignorer si vide" n'est pas coché .

Mes certitudes ont été bousculées:
je pensais que cela ne concernait que la cellule à valider,
mais en relisant la doc, cela concernent toutes les cellules présentes dans une formule .

La formule retenue ( entre toutes celles qui fonctionnent) est la suivante :
=ET(MIN(B9;C9)>=0;MAX(B9:C9)<=13;B9<>C9)

Le classeur joint comportent les formules pour curiosité .


Je marque @Marcel32 comme solution car il ne peut en avoir qu'une ... ;)
 

Pièces jointes

  • pbValidation.xlsm
    21.2 KB · Affichages: 6

fanch55

XLDnaute Barbatruc
T'as essayé #6 ? Ce n'est pas mieux ?
La partie non traitée au #6 est faite par code,

La liste n'est pas idoine car les utilisateurs préfèrent le clavier plus rapide .

D'autre part, il faudrait faire une liste selon ce qui est dans l'autre case, c'est à dire :
si elle est vide, de 1 à13​
si elle est =13, de 1 à 12​
si elle est < 13 et > 0, pas de liste et mettre la valeur à valider à 13​

Tout ça est finalement traité par code.

La formule est en fait un premier barrage pour alléger le code .
 

TooFatBoy

XLDnaute Barbatruc
La liste n'est pas idoine car les utilisateurs préfèrent le clavier plus rapide .
Une liste n'oblige pas à utiliser la souris pour dérouler une liste. ;)


La partie non traitée au #6 est faite par code,
Ben justement, tout me semblait traité par #6, c'est pour ça que je posais la question.
Mais il doit y avoir des cas que je n'ai pas envisagés.


Quoi qu'il en soit, content pour toi si #5 te convient. ;)
 

Phil69970

XLDnaute Barbatruc
Re

Je l'avais bien spécifié dans le fichier du post #4
As-tu essayer de décocher "Ignorer si vide" ?

et bien sur comme tu le précises dans ton post #6 mais la formule le fait déjà je crois.

Après il y aura toujours le bug non prévu car l'utilisateur est un ... peu joueur.... et essaye souvent de faire des trucs de ouf ;)

Perso j'aurais été voir du coté de la MFC du genre si la valeur est en dehors de vide et 0 à 13 je mets la cellule en rouge ou en noir ....

@Phil69970
 

fanch55

XLDnaute Barbatruc
Perso j'aurais été voir du coté de la MFC du genre si la valeur est en dehors de vide et 0 à 13 je mets la cellule en rouge ou en noir ....
Je me méfie beaucoup de tout ce qui est couleur par expérience d'un projet rejeté car une grande partie des utilisateurs était daltonien ou souffrait de perception différente des couleurs, un consensus n'étant pas possible ,la maintenance parlant de couleur verte ou jaune et l'utilisateur ne voyant que du gris ....
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof