Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Données-validation, comment faire pour forcer 2 contraintes ?

  • Initiateur de la discussion Initiateur de la discussion ted69000
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

ted69000

Guest
Bonjour à tous

Je débute avec le mode avancé d'excell.
J'ai besoin de formater des plages de cellules non contigues de la façons suivantes :
1) Forçage à 3 caractères alphabétiques, (jusque là, pas de problème...) avec données validation, en majuscule si possible (sais pas faire...)

ET

2) empêcher les doublons sur l'ensemble de la feuille active, avec des plages de cellules non contigues. J'ai bien la formule à entrer, mais comment faire pour avoir les deux conditions en même temps, car outils validation, si on tente de renseigner une seconde contrainte de saisie, efface la première...

Merci de votre aide.
NB : J'étais loin d'imaginer que l'on pouvait aller aussi loin avec excell...
Thierry
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonjour Thierry, Sylvain,

A défaut de fichier, et après un petit recours à la boule de cristal, une idée de formule pour la validation :

Code:
=ET(NBCAR(A1)=3;EXACT(A1;MAJUSCULE(A1));NB.SI(plage;A1)<2)

NBCAR(A1)=3 : permet de s'assurer qu'on a 3 caractères

EXACT(A1;MAJUSCULE(A1)) : permet de d'assurer que le contenu de A1 est bien en majuscule

NB.SI(plage;A1)<2) : permet de s'assurer que A1 n'est pas présent plus d'une fois dans la plage.

Le tout étant à intégrer dans un fichier qu'on a pas vu.

Donc si problème, repasser avec un bout du fichier

@+
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonsoir Thierry, bonsoir Sylvain,

Si j'ai bien compris la demande, essaye de la façon suivante:

Données - validation - personnalisé

et dans la champ "Formule", mets la formule suivante:

Code:
=ET(NB.SI(B4:B26;D4)=0;NBCAR(D4)=3;TROUVE(MAJUSCULE(D4);D4;1)=1)

qui suppose la cellule à valider en D4 et la plage de données en B4:B26.

Le Nb.si contrôle les doublons
Le Nbcar controle qu'il y a bien 3 caractères
et Trouve sert à comparer le champ saisi avec le même champ en majuscules. Il renvoie 1 si OK.

Si les 3 conditions sont OK, c'est validé.

@+

Gael

et salut Tibo. je ne t'avais pas vu et on a l'air assez en phase ce soir!
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonsoir,

Je m'incruste juste pour refaire coucou à Gael. T'as un MP dans ta boite xld, après notre conversation téléphonique... Hi hi... Je suis tenace.
Bisous à toi et bonsoir à tout le monde (coucou Tibo et Hubert).
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Merci pour vos interventions.
C'est ma première question sur ce forum et je suis surpris de la réactivité.
Mon problème a été a priori parfaitement compris.
En complément, je n'est pas de bout de fichier à joindre.
J'ai des colonnes non contigues (B1:B10;D1😀10;F1:F10) dans lesquelles
les personnes d'une équipe vont pouvoir inscrire, et donc réserver, un trigramme (3 caractères alphabétiques majuscules, codification de type aéroportuaire).
Je souhaite que les utilisateurs soient contraints à entrer leurs codes comme décrit ci-avant, ET qu'ils ne puissent pas entrer de doublons.

J'ai tenté de saisir (maladroitement) vos formules, mais elles ne fonctionnent pas.
Je ne comprends pas le sens de la cellule D4 pour Gael ou A1 pour tibo.Ne devrions nous pas parler plutôt de cellule active ou sélectionnée ou en cours de saisie ? Cela a t'il un sens puisque le but est de contraindre une plage de cellule ?
Merci à vous.
En tout cas, ce forum me donne vraiment envie de persévérer...
Thierry
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonsoir à tous,

Ci-joint un exemple avec la formule de validation proposée par Tibo. Il n'y a pas le contrôle entre chiffres et textes mais cela respecte les 3 autres contraintes dans la plage B1:B10.

A1 ou B4 représentent en effet la cellule active. lorsque tu étend la validation aux autres cellules, la formule est recopiée en incrémentant le n° de ligne (B4, B5...) s'il n'y a pa de "$" devant.

@+

Gael
 

Pièces jointes

Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonjour,

Une proposition pour compléter la formule de la validation et n'autoriser que la saisie de lettres (entre A et Z) :

Code:
=ET(NB.SI($B$1:$B$10;$B1)<2;NBCAR($B1)=3;EXACT(MAJUSCULE($B1);$B1);
MIN(CODE((STXT(B1;LIGNE(INDIRECT("1:"&NBCAR(B1)));1))))>=65;
MAX(CODE((STXT(B1;LIGNE(INDIRECT("1:"&NBCAR(B1)));1))))<=90)

A adapter au fichier proposé par Gael.

@+
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonjour à tous

Merci pour le fichier valid.xls

1) J'ai un peu pateaugé, mais c'était surtout lié à la façon de saisir la formule...
D'ailleurs à ce propos, comment faites vous pour vous déplacer dans la minuscule fenêtre de saisie de cette formule, qui lorsqu'on utilise les flèches droite ou gauche, modifie le contenu même de la saisie ?

2) Je n'ai pas encore testé le contrôle de la présence de chiffre...

3) Par contre, j'ai tenté de saisir au niveau de la plage pour le contrôle de redondance plusieurs plages...(plusieurs colonnes non contigues), et là...erreur dans la formule...D'après vous, y'a moyen ou pas ?

Merci encore...
Thierry
Et bon week end...
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Comme vous pouvez le constater, je suis novice.
Quel ouvrage me conseillez vous pour commencer avec VB pour excell ?
Ainsi que les fonctions utilisables dans données validations ?
Bonne fin d'après-midi
Thierry
 
Re : Données-validation, comment faire pour forcer 2 contraintes ?

Bonsoir à tous,

Pour la question 1, tu as raison, c'est vraiment Ch... de saisir des formules dans ces zones (de même que dans le champ "fait référence à" pour insérer un nom). Ma solution perso est très simple, tu saisis ta formule dans une cellule normale puis tu sélectionnes le contenu de la cellule que tu copies puis tu fait Esc pour annuler. Dans Données - validation, tu effaces l'ancienne formule et tu fais un Ctrl-V pour coller la nouvelle.

Question 3. tu ne peux pa faire de plages non contigues dans ce cas mais tu peux mettre plusieurs NB.SI dans la formule ce qui donne:

Code:
=ET(NB.SI($B$1:$B$10;$B1)<2;NB.SI($E$1:$E$10;$B1)<1;NB.SI($G$1:$G$10;$B1)<1;NBCAR($B1)=3;EXACT(MAJUSCULE($B1);$B1))

Note que pour la plage sur laquelle on se trouve on met "<2" pour éviter un doublon mais pour les autres plages, il faut mettre "<1" pour vérifier l'existence d'un autre identifiant similaire.

Voir essai dans le fichier joint.

@+

Gael
 

Pièces jointes

Re : Données-validation, comment faire pour forcer 2 contraintes ?

Merci Gael
Je ferme ce fil, car vous avez largement répondu à mes attentes, et même bien au delà...
RV sur un autre fil, j'espère...
Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
5
Affichages
1 K
sebamak
S
N
Réponses
4
Affichages
1 K
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…