IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Recherchv avec table matrice variable


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut Recherchv avec table matrice variable
    Bonjour à tous,
    j'ai besoin d'un petit coup de main avec une formule qui m'a fait déjà fait perdre trop de temps!

    Je veux faire une recherchev dont la table matrice de recherche serait variable en fonction de l'élément recherché.

    j'ai joint une partie du fichier pour mettre ça plus clair. Je voudrais que s'affiche dans la cellule K5, dans l'onglet "Simulation 1", la pondération de l'indice affiché dans le cellule I5. Le ou les indices qui s'affichent dans la colonne I vont varier (avec une recherche, comme vous pouvez voir dans le fichier) en fonction du Fonds qui lui même varie en fonction de ce qui est indiqué dans l'onglet "Saisie".

    Le problème que je rencontre, c'est que la recherchev de K5 devra s'effectuer dans des plages différentes tout dépendant du fonds dont elle recherche les pondérations des indices.

    J'ai essayé la formule suivante: =RECHERCHEV(I5,decaler(rechercheh(L2,'Fonds Pré-Simulés'!A1:R2,2,faux),1,1,6,3),3,faux)

    Je pensais que ça marcherait bien car elle me semblait logique i.e. que je faisais varier la table matrice d'endroit selon l'élément recherché, mais Excel me dit que ma formule contient une erreur.

    Qu'est-ce que je pourrais faire pour résoudre ce problème?

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Désolé, mais avec tes explications, je n'arrive même pas à faire la recherche sans formule.
    quelle cellule doit retourner la formule ?

  3. #3
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Lorsqu'on regarde la formule essayée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(I5,decaler(rechercheh(L2,'Fonds Pré-Simulés'!A1:R2,2,faux),1,1,6,3),3,faux)
    la fonction DECALER attend en premier argument une référence de cellule or la fonction RECHERCHEH renvoie elle non une adresse
    mais un contenu de cellule ; il me semble normal que, dans ces conditions, Excel proteste. Il y a en plus un problème de virgule à la place de point-virgule.
    J'esssaierai dans la cellule K5 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHE(I5;DECALER(INDIRECT(ADRESSE(3;EQUIV('Simulation 1'!L2;'Fonds Pré-Simulés'!$A$1:$R$1;0)+1;4;;"Fonds Pré-Simulés"));0;0;6;3))
    Elle renvoie bien 100% dans cette cellule valeur qu'elle est allée lire en dernière colonne de la plage B3: D8 dans la feuille Fonds Pré-Simulés.
    Mais je n'ai pas pu vérifier si elle se recopiait sans problème.
    Cordialement
    Claude

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut
    Merci énormément Claude!

    ça marche à merveille dans le cellule K5 peu importe le fonds. j'ai essayé dans "Saisie 1" d'entrer en A2 d'autres fonds (202, 212, 222, et 248 (les 4 dans mon exemple)) et ça fonctionne toujours.

    Par contre, dans les autres fonds, le 222 par exemple, il y a plusieurs indices dans "Fonds Pré-Simulés" et donc qui s'affichent dans "Simulation 1", et je ne suis pas capable de reproduire la formule pour que cela fonctionne avec eux aussi ... Auriez-vous une idée pour cela? J'ai changé I5 pour I6, I7, I8 etc mais ça me retourne NA dans les cellules de la colonne K. Quel autre changement dois-je apporter?

    Merci encore énormément, vous me sauvez la vie!

    PS: pour ce qui est des virgules au lieu des point-virgules, c'est que j'utilise office canadien français dans windows canadien anglais, donc je dois mettre des virgules sinon les formules ne fonctionnent pas!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut
    Bonjour Claude,

    Je vous remets ici le classeur comme vous le souhaitez. Les seuls onglets importants ici sont les 3 verts i.e. "Saisie 1", Simulation 1", et "Fonds Pré-Simulés".

    La façon de faire intervenir "intervenir" un fonds dans l'onglet "Simulation 1" est en indiquant son numéro dans l'onglet "Saisie 1".
    Dans le cas qui nous concerne, puisque je vous envoie une version d'essai tout à fait incomplète, il s'agit d'entrer le numéro dans la cellule A3 de l'onglet "Saisie 1". Vous remarquerez que le nom s'affiche automatiquement par la suite, il ne faut qu'inscrire le numéro.
    Il y a en tout environ 450 numéro fonds différents qui vont sortir un nom de fonds (ils sont visibles dans l'onglet "Liste de fonds") mais ce n'est pas réellement important. Comme il s'agit d'une version préliminaire, les 4 numéros qui nous importent sont 202, 212, 222 et 248 i.e. les 4 fonds qui s'affichent dans le haut de l'onglet "Fonds Pré-Simulés".

    Donc en bref, inscrivez 202, 212, 222, ou 248 dans la cellule A3 de "Saisie 1", et dans l'onglet "Simulation 1" (celui qui nous préoccupe) s'afficheront le numéro et le nom du fond en I2 et L2, ainsi que le indices qui le composent de I5 à I10. Ces derniers s'affichent avec une recherchev, à partir de l'onglet "Fonds Pré-Simulés".

    Donc avec la formule que vous m'avez préalablement donnée, le résultat de la cellule K5 dans "Simulation 1" s'affiche très bien. La formule recherche le numéro de fonds indiqué en L2 (dans Simulation) dans "Fonds Pré-Simulés", et nous donne en K5 la pondération correspondant à l'indice qui s'est affiché en I5 (avec la recherche dont je parlais plus tôt).

    Tout ça est parfait, et d'ailleurs je vous lève mon chapeau pour cette magnifique formule, mais je voudrais comme je vous disais que l'on puisse appliquer la même formule pour les cellule K6 à K10. Donc K6 donnerait la pondération de l'indice affiché en I6, K7 pour I7, etc.

    Il ne s'agit donc en fait que de reproduire votre formule, mais de l'adapter pour chaque ligne. Je dois vous avouer la complexité de votre formule me dépasse un peu et que je n'arrive pas à "bien" la modifier. Ça marche pour une ligne, mais pour l'autre comme je vous expliquais.

    Merci mille fois!
    Derik
    Fichiers attachés Fichiers attachés

  6. #6
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Billets dans le blog
    1
    Par défaut
    Re
    Voir ci joint le classeur avec la formule très légèrement modifiée :
    emploi de RECHERCHEV au lieu de RECHERCHE.
    Cela a l'air de fonctionner.
    J'ai modifié la présentation de la feuille Fonds Pré-Simulés pour mieux percevoir les plages qui interviennent dans la recherche mais je pense que la présentation initiale peut se rétablir sans grande difficulté par le concepteur du classeur.
    Cordialement
    Claude
    Fichiers attachés Fichiers attachés

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut
    Bonjour Claude,

    Merci infiniment, cela fonctionne parfaitement!!!

Discussions similaires

  1. requete sql-lite avec choix de table depuis variable
    Par julientalbourdet dans le forum Général Python
    Réponses: 4
    Dernier message: 24/08/2009, 09h48
  2. Suppression et Création table avec critère de variable
    Par stephanies_1977 dans le forum VBA Access
    Réponses: 4
    Dernier message: 12/03/2008, 13h53
  3. Formule INDEX avec matrice variable
    Par psycholymp dans le forum Excel
    Réponses: 2
    Dernier message: 11/12/2007, 23h27
  4. Requête avec tables variables
    Par alquinta dans le forum Modélisation
    Réponses: 6
    Dernier message: 10/08/2007, 17h52
  5. select dans SQL dynamique avec table variable
    Par enzodb2 dans le forum DB2
    Réponses: 4
    Dernier message: 26/07/2007, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo