Rechercher dans un tableau (sans nommer de plages)
Bonsoir la communauté !
Merci d'avance pour votre lecture,
L'idée est que j'aimerais dans tout tableau retrouver n'importe quoi. Savoir me démerder comme un grand si on me demande quoi que ce soit, quoi...
Je connais les fonctions RechercheH, rechercheV, Index, Equiv.. Quoique je n'arrive pas encore bien à entrer une plage de données en entrées de RechH ou RechV (si quelqu'un a une idée ? Je n'arrive qu'à le faire sur une colonne / ligne)
Je rencontre ici un soucis bien simple,
Je cherche par exemple à renvoyer l'élève ayant eu le moins bon résultat dans une certaine matière)
Je cherche d'abord la colonne d'un tableau (avec Equiv) ici la matière VBA, puis je voudrais DANS LA COLONNE ADEQUATE DU TABLEAU rechercher le minimum.
Ensuite, je me débrouillerais pour trouver la ligne correspondante (je fais abstraction pour l'instant du cas ou il y a plusieurs minimaux)
Puis grace à rechercheV, je peux trouver le nom de l'élève.
J'ai fais un petit dessins tout mignon (j'espère) censé aider à comprendre mon soucis
Si vous avez :
1/ une méthode différente parvenant au même résultat, je suis preneur
2/ une aide avec cette méthode, je suis aussi preneur !
Merci à tous,
Bonne soirée
Bonjour,
pas facile avec une image
pourquoi ne pas mettre un court fichier proche et anonymisé ?
P.
bonjour
comme c'est bientot NOEL
ou alors
cordialement
Bonsoir,
Merci pour vos promptes réponses c'est super
Voici un fichier en pj, mais il est très moche,
C'est un brouillon que j'utilise pour diverses matières (excel est beaucoup mieux qu'une calculatrice, en statistiques par exemple, mais aussi en finance pour calculer des tableaux d'amortissement, et même pour tester ses connaissances je préfère à Word
Merci beaucoup Tulipe_4, je vais étudier avec beaucoup de plaisir ta formule : c'est vraiment top !!
Beaucoup de notions que je ne connais pas, j'avoue qu'il est tard, je regarderais demain à la première heure !
Ca à l'air super indigeste, je pressent une grosse prise de tête dès le matin demain ^_^
Heureusement qu'on aime le challenge, ici
Merci beaucoup pour vos réponses, ça devrait beaucoup m'aider.
La "validation matricielle", c'est le CSE comme ça semble se dire (pour CTRL + SHIFT + ENTER) si j'ai bien suivi ?
Je n'ai pas vraiment compris à quoi cela servait ...
Mais je vois bien les { } englobant ta formule, Tulipe_4... J'ai pu comprendre que ça servait aux formules matricielles, mais je ne maîtrise pas encore bien.
Je maitrise mieux VBA qu'Excel, de fait. Et encore, en VBA j'ai encore des difficultés avec les FormulaArray, je ne suis pas complètement au point.
D'où aussi mes efforts directement sur excel pour y voir plus clair !
Merci quoiqu'il en soit,
Je me penche sur ces formules demain dès le réveil !
<3
Avant de m'atteler vraiment à vos réponses (pour lesquelles je vous remercie énormément encore une fois
Je suis en train de m'instruire à propos des calculs matriciels et de la validation matricielle,
Je suis un tutoriel que voici (click)
Le soucis, c'est que je n'arrive déjà pas à rentrer une matrice en ligne :
1/ sélection de A1:E1 (matrice ligne colonnes)
2/ barre de formule : ={1,2,3,4,5}
3/ validation matricielle avec la combinaison CSE.
En colonne avec des ; au lieu des , cela marche à merveille, mais en ligne j'ai toujours une erreur, proposition de correction, et en fin de compte :
1,2345 dans chacune des cases ...
Alors que je suis censé arriver à mettre dans chaque case le numéro de sa colonne..
Une idée du pourquoi ?
EDIT : Merci R@chid, je suis aussi en train de me pencher sur ton fichier
Là aussi, quelques formules que je ne connais pas encore, Decaller, je vais jeter un coup d'oeil ça peut répondre à ma question de façon simple
Bonjour,
pour ce qui est et cela dépend de la langue Anglais ou Français.
pour insérer le numéro de colonne dans chaque case, il suffit :
=COLONNE()
@ tirer vers la droite ou vers la gauche
@ + +
Merci pour ta réponse Rachid,
Je code dans VBA en anglais, mais sur Excel en français ;
J'ai donc un Excel français (les formules sont bien moyenne, Somme, et pas Average, Sum, mais en VBA j'utilise bien application.worksheetFunction.average() )
Pour les colonnes, je selectionne une colonne de dim adéquate et je rentre ={chiffre1;chiffre2; etc}
Je sépare avec des ;
Je clique CSE, j'ai bien ma colonne comme je la veux.
Seulement, avec les lignes complètement impossible de parvenir au même résultat !!
Que ce soit avec des , comme théoriquement j'ai l'impression que ça devrait etre le cas, ou avec des ;
Je commence à n'en plus pouvoir ... Je crois que je vais laisser tomber, dépité
Par ailleurs, je décortique vos formules pour l'instant je n'en sors pas encore mais ça devrait venir.
Je dois apprendre plusieurs formules ...
Mais j'ai pas mal de boulot à côté, c'est de l'extra, ça commence à me prendre trop de temps je crois que j'y retournerais après mes partiels c'est plus raisonnable.
Vous êtes fortiches en tout cas tous, très à l'aise : ça donne envie !!
Merci
Edit : ah je vais essayer avec Colonne !
MERCI
BON !!
Je suis en train de parvenir au résultat, après avoir pioché dans vos aides :
Rappel :
Je veux partant d'un tableau et d'une matière, pouvoir récupérer la note maximale et l'élève auquel cela correspond
Etapes
1 : recherche de la colonne correspondant à la matière
=EQUIV(E77;DECALER(Données;0;0;1;COLONNES(Données)))
2 : Recherche du min dans cette colonne :
=MAX(DECALER(Données;0;H80;LIGNES(Données);1)) )
3 : Recherche de la ligne correspondante :
=EQUIV(H82;DECALER(Données;0;H80-1;LIGNES(Données);1);0) )
C'est cette ligne en fait qui était intéressante et que je cherchais (partant de l'idée que la 4ième colonne est celle de VBA, déjà identifiée au préalable) :
=MAX(DECALER(Données;0;4;LIGNES(Données);1))
Je comprends qu'en fait, décaller est une sorte de RESIZE (en VBA), qui est donc méga utile !!
Bravo, un grand merci à vous c'est super je suis un homme é-pa-nouis
MERCI
NB : j'aurais des soucis s'il y a plusieurs meilleures notes, auquel cas si je comprends bien il faut que j'utilise la fonction donnée par Tulipe_4, Grandes.valeur()
J'en suis là, j'ai déjà bien progressé
bonjour
t'aurais pu finir e-VA-noui au samu
cordialement
tulipe_4 a écrit :bonjour
t'aurais pu finir e-VA-noui au samu
cordialement
Voui
Mais heureusement vous êtes là !!
C'est top
J'ai édité le fichier + rajouté un petit dernier paragraphe,
Mais je vais éditer le sujet en disant que c'est bon, j'ai été sauvééééé
BON W.E !!
Ps : vais quand même un jour tenter de mieux comprendre ta formule, Tulipe, ainsi que la façon d'utiliser la forme matricielle.
Mais là, petite overdose.
Je vais me faire un ou deux examens de VBA pour m'entrainer à mon futur examen, ça me détendra
Bonjour,
"Je comprends qu'en fait, décaller est une sorte de RESIZE (en VBA), qui est donc méga utile !!"
Je pense plutôt que décaler, ça correspond à offset() 8)
re
j'esssplik
la matricielle Min( ..... se crée une matrice virtuelle de l'ensemble du tablo qui contient effectivement une valeur (sinon ça compte 0) et MIN ne fait trop la difference ;ainsi on gere les vides mais pas les 0
formule a valider avec les 3 doigts( preférés) sur les touches Ctrl Maj Entrée apres avoir mis le curseur à la derniere )
l'autre ;le INDEX(SOMMEPROD à rallonge
vicieux ?! isn't it ;tout ça pour ne pas avoir a valider tri digitalement
le mieux c'est de jouer du DECALER ;mais j'aime pas ; c'est moins marrant , deplus on se retrouve avec du "volatile" qui ne permet pas de se reperer
"un jour vos enfants aimeront ça "
cordialement ,bosse tes partiels
je viens de voir un post intermediaire .....
afin de bien comprendre comment fonctionne DECALER
1), tu vas dans gestionnaire de nom >>>nouveau
2) tu nomme une plage (exemple : pipo
3) a fait ref tu saisis = DECALER($ a$1:$a$15;2;3;5) OK
4) tu retournes dans gestionnaire >>> tu cliques sur pipo et tu fais comme si tu voulais bricoler la formule
tu vas tout de suite voir de quoi il en retourne
je ne connais pas d'autre methode pedagogique
Bonjour,
Bonjour tulipe_4
Ce qui se conçoit bien s'énonce bien, les mots pour le dire arrivent aisément.
Cdlt.
nota : +1 pour Jean-Eric
bonjour Jean -Eric
signé BOILEAU avant les fetes
tulipe_4 a écrit :re
j'esssplik
la matricielle Min( ..... se crée une matrice virtuelle de l'ensemble du tablo qui contient effectivement une valeur (sinon ça compte 0) et MIN ne fait trop la difference ;ainsi on gere les vides mais pas les 0
formule a valider avec les 3 doigts( preférés) sur les touches Ctrl Maj Entrée apres avoir mis le curseur à la derniere )
l'autre ;le INDEX(SOMMEPROD à rallonge
fonctionne sur le meme principe sauf que SOMMEPROD renvoie des 0 quand cela ne colle pas au critere ; alors pour pouvoir commencer a "cibler" apartir du dernier 0 ;il faut les compter (c'est ne nb de cel qui ne repondent pas au critere ) ;en toute logique on rajoute 1 (+ligne(a1) ) ainsi petite.valeur commence a denombrer des vrais valeurs vicieux ?! isn't it ;tout ça pour ne pas avoir a valider tri digitalement
le mieux c'est de jouer du DECALER ;mais j'aime pas ; c'est moins marrant , deplus on se retrouve avec du "volatile" qui ne permet pas de se reperer
en cas de plantade "un jour vos enfants aimeront ça "
cordialement ,bosse tes partiels
je viens de voir un post intermediaire .....
afin de bien comprendre comment fonctionne DECALER
1), tu vas dans gestionnaire de nom >>>nouveau
2) tu nomme une plage (exemple : pipo
3) a fait ref tu saisis = DECALER($ a$1:$a$15;2;3;5) OK
4) tu retournes dans gestionnaire >>> tu cliques sur pipo et tu fais comme si tu voulais bricoler la formule
tu vas tout de suite voir de quoi il en retourne
je ne connais pas d'autre methode pedagogique
Méga top super
Vous êtes des chefs !!
Là j'ai mon explication totale, c'est super
Et même, c'est comme tu l'expliques bien une autre méthode (sans les Decaler() qui me semblent relativement chouettes pourtant
Je décortiquerais cela plus en détail avec plaisir, à l'occasion (need time, et j'ai une méthode qui fonctionne déjà pour le moment, pour quelque chose qu'on ne me demandera pas dans mes partiels ..)
Intéressant de savoir ces histoires de "Si pas de valeur dans une cellule, alors valeur entre guillemets trouvée : 0 ", effectivement source d'erreurs à gérer.
Effectivement, j'ai été un peu rapide : Decaler() correspond finalement à un offset, mais pas seulement vu les nombreux paramètres, c'est un Offset().resize() !
Et ça, c'est vraiment chouette.
Bisous à tous, et...
Prenez soin d'vos tulipes, comme dirait Bengui
Bonjour les amis,
Please Help!. Besoin de connaître les formules excel qui me permettront de ressortir le meilleur tarif par dans l'ordre croissant des 3 matrices ci-jointes
Critère de choix: le code département et le mètre plancher (MPL) renvoient à un tarif
Cependant, L'intervalle de mètre plancher (MPL) est compris entre 0.4 et 13.2. Par exemple si j'ai 9.1 il doit me renvoyer la valeur supérieur càd 9.2 et pour 1 MPL il doit me renvoyer 1.2. Voir onglet "ici application"
Merci d'avance, je compte sur vous!
Pome
Bonjour,
J'ai deux feuilles de calcul avec des prix.
Et je dois indiquer le meilleur dans l'ordre croissant. A partir de deux critères le code département et le mètre plancher linéaire qui est compris entre min et max ex: 0.6 mpl compris entre [0.4- 0,8[
je en trouve pas la bonne formule
Je pense que je dois d'abord utiliser si pour l'intervalle de valeur de 0,4 à 13,2, ensuite le meilleur tarif qui convient?
qu'en pensez vous
Merci Tulipe,
Je suis une passionnée d'Excel novice! Merci pour ton coup de main.
Je m'entraîne et reviens vers toi.