Probleme sur choix et dissernement

D

didier

Guest
bonjour
tout et dit dans le fichier joint
merci
Ðidier
 

Pièces jointes

  • problmchoix.zip
    3.2 KB · Affichages: 12
M

Monique

Guest
Bonjour,

Données - Validation
Autoriser "Personnalisé" et tu tapes :
=INDEX($L$4:$L$39;EQUIV(A4;$K$4:$K$39;0))=1
En donnant un nom à tes 2 plages :
=INDEX(OuiNon;EQUIV(A4;Note;0))=1

Par les 2 autres onglets, tu mets ou non un message
 
D

didier

Guest
chapeau Monique,

Alors là, je suis bluffé, J'avais imaginé une solution plus en VBA avec des If..... Then, ou du moins un mélange de formule excell et de vba.

Par contre je comprend trés mal comment cela fonctionne, a par la rechercheV ou H que j'utilise courrament ,index et equiv sont des fonction que je n'ai jamais utilisé et encore moins en imbriqué .
Pourquoi utiliser Données - Validation Autoriser "Personnalisé" ?

De plus je ne vois pas non plus comment tu fais apparaitre le message sans passé par le vba

Si tu peux être un peu plus explicite et détailler tes formules, cela m'aiderais surement a progrésser, car au dela de mon probléme ce qui m'intéresse c'est surtout de comprendre le comment du pourquoi, afin de pouvoir progrésser.
Merci Monique
 
M

Monique

Guest
Bonjour,

Les messages d'erreur sont prévus par Excel sans passer par une macro.

Tu sélectionnes la plage H4:H15 puis :
barre de menu - données - validation
Onglet "Options",
dans "Autoriser", tu choisis "Personnalisé"
dans la zone "Formule, tu tapes :
=RECHERCHEV(G4;$K$4:$L$39;2;0)=1
ou bien
=RECHERCHEV(G4;$K$4:$L$39;2;0)
ou bien, si tu as donné le nom "Tablo" à la plage K4:L39,
=RECHERCHEV(G4;Tablo;2;0)=1
=RECHERCHEV(G4;Tablo;2;0)

Onglet "Message de saisie",
tu choisis ou non de taper un message,
il s'affichera dès que la cellule sera sélectionnée.

Onglet "Alerte d'erreur",
tu choisis le message à afficher si une donnée non valide est saisie

Pour Index Equiv à la place de Recherchev ou Rechercheh,
c'est tout simplement plus pratique.
La valeur cherchée ne doit pas être obligatoirement dans la 1ère colonne à gauche,
pas besoin de compter le nb de colonnes,
on peut ajouter, supprimer des colonnes sans modifier la formule.
INDEX(colonne X ;EQUIV(A1;autre colonne n'importe où;0))
EQUIV(A1;autre colonne n'importe où;0) donne le n° de ligne à l'intérieur de "autre colonne", 0 ou FAUX pour avoir une valeur exacte
Les 2 ensemble : INDEX(colonne X ; n° de ligne) renvoie la valeur située à la n ième ligne
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 348
Membres
103 822
dernier inscrit
kader55