Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
je suis d'accord avec ninbihan : le tcd te donne toutes ces infos et plus
si tu tiens à la formule il faut une formule matricielle
(les {} ne se tapent pas, il apparaissent lorque tu valides par ctrl+maj+entrée) :
{=INDEX($B$1:$B$23;PETITE.VALEUR(($C$5:$C$23=$I$15)*(LIGNE($C$5:$C$23));NB.SI($C$5:$C$23;"<>"&$I$15)+(LIGNE()-15)) }
en outre j'ai un autre pb c'est quand j'utilise une fonction recherchev, je voudrais qu'il ne mette rien quand il ne trouve pas, or il me donne "0" dans ma cellule. Est ce possible? je pense que ca doit etre lié a la derniere reference de la parenthese. thx
pour la formule : est-ce que tu l'a entré en ligne 16 comme sur ton exemple ?
Est-ce que tu vois les {} après avoir validé ?
Pour le recherchev : 2 méthodes
1) format conditionnel : quand la valeur =0 police blanche sur fond blanc
2) si(recherchev(...)=0;"";recherchev(...))
la première méthode te laisse les 0 invisibles (pratique pour calculs)
la deuxieme méthode met une valeur texte dans les cellules (moins pratique pour les calculs ulterieurs
Merci Gael pour ta formule que je vais copier-coller, elles est épatante meme si je ne comprends rien a son contenu et je serai incampable d'en créer une comme ça.
vous etes des stars, je pensais m'y connaitre un peu dans excel mais je vois que je suis encore tres loin du compte.
En outre je me suis un peu trompé dans le fichier que je vous ai envoyé, il y a une petite variante que j'avais oublié d'inclure. Cela complique un tout petit peu le calcul mais étant donné que je ne comprends pas cette formule il m'est impossible de la changer. Je vous envoie la nouvelle version du fichier. Encore merci.
Quelques explications quand même car même si cela m'arrive aussi d'utiliser une formule sans la comprendre totalement (calcul du n° de semaine à la norme européenne de Laurent longre par exemple), le fait de comprendre la logique de le formule utilisée permet de la modifier ou de l'adapter à d'autres cas et c'est aussi plus satisfaisant.
La formule est la suivante:
=SI(NB.SI($C$5:$C$23;$I$15)<LIGNES($H$16:$H16);"";INDEX($B$5:$B$23;PETITE.VALEUR(SI(C5:C23=$I$15;LIGNE(C5:C23));LIGNES($H$16:$H16))-4;1))
En décomposant:
LIGNES($H$16:$H16) donne le nombre de lignes compris entre la cellule H16 et la cellule qui contient la formule. En H16 c'est 1 puis 2 en H17 et ainsi de suite.
NB.SI($C$5:$C$23;$I$15) est le nombre de fois où la valeur choisie est rencontrée dans la table. Donc si cette valeur est inférieure au nombre de lignes sur lequel on est arrivé, on n'écrit rien dans la cellule.
PETITE.VALEUR(SI($C$5:$C$23=$I$15;LIGNE($C$5:$C$23))... va chercher le plus petit n° de ligne de la table $C$5:$C$23 qui contient l'élément choisi. Ce sera le premier plus petit puis le deuxième etc... selon la ligne qui contient la formule.
INDEX(....;1) chercher le N° qui correspond à cette ligne en colonne 1 (-4 puisqu'on commence en ligne 5).
Je m'aperçois que j'ai fait une erreur grossière en oubliant les "$" dans la définition de la table. Ci-joint fichier corrigé.
Je n'avais pas vu ta dernière demande. Ci-joint fichier modifié mais je ne suis pas sûr d'avoir bien compris, j'ai simplement rajouté la colonne "$". Est-ce OK?
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.