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 :

Fonction INDEX et recherche à 2 dimensions


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Points : 13
    Points
    13
    Par défaut Fonction INDEX et recherche à 2 dimensions
    Bonjour à tous,

    Je dispose d'un tableau avec des données de différents formats "valeur", "date","nom"
    Plusieurs colonnes et plusieurs lignes. Le tableau commençant à renseigner beaucoup de données, je souhaiterais alléger la lecture.

    Je me renseigne de mon côté en cherchant sur le net mais je n'arrive pas à grand chose.

    1- La où l'on doit indiquer le n° de la ligne et n° de la colonne avec la fonction INDEX, j'aimerais lui indiquer le nom de ma ligne ou de ma colonne
    2- Peut-on inclure à ce niveau une Liste Déroulante?
    3- J'aimerais que le Résulat de la fonction Index conserve le Format de la données prise dans le tableau.

    Exemple en photo de ce que je souhaite obtenir
    Nom : 2015-09-04_22h41_01.png
Affichages : 3495
Taille : 11,4 Ko

    D'avance merci pour vos réponses.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    Comme je cherche de mon côté je pensais être prêt du but mais ca pêche au niveau du numéro de la colonne.
    Vu que je veux faire une liste déroulant, le numéro de la colonne revient est bien évidemment celui de la liste déroulante...
    Je suis preneur de vos propositions.

    Voici ce sur quoi j'était parti:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(Exploitation;EQUIV(K3;Tableau1[[#Tout];[Nom]];0);CELLULE("colonne";L3))

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici un exemple très proche de ce que tu cherches avec image de la feuille que j'utilise lors de mes formations.
    Pour la facilité de la compréhension les plages sont nommées et colorées (Voir tableau cii-dessous)

    Nom Adresse Couleur
    pnTableau $C$5:$H$10 Bleu
    pnMatiere $B$5:$B$10 Vert
    pnMois $C$4:$H$4 Jaune

    Deux listes déroulantes (Outil Validation de données - Liste) en $B$14 (référence à pnMatiere) et $E$12 (référence à pnMois)
    La cellule E14 contient la formule ci-dessous qui renvoie la valeur se trouvant à l'intersection ligne/colonne du tableau)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(pnTableau; EQUIV(B14;pnMatiere;0); EQUIV(E12;pnMois;0) )
    Les deux fonctions EQUIV, renvoient la position Ligne, Colonne dont à besoin la fonction INDEX

    Nom : 150905 dvp Index Equiv.jpg
Affichages : 4671
Taille : 165,5 Ko
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Deux listes déroulantes (Outil Validation de données - Liste) en $B$14 (référence à pnMatiere) et $E$12 (référence à pnMois)
    Bonjour Philippe,

    Et merci beaucoup pour cette proposition qui fonction presqneue parfaitement ^^.
    Ce qui a débuguer le truc c'est la Liste déroulante. Je sélectionnais les lignes ou les colonne tandis qu'il fallait les nommer.
    Dans Liste, on est d'accord qu'il faut simplement indiquer
    ?

    Plus haut, je disais que ça fonctionne presque car compte tenu du fait que dans mon tableau j'ai aussi bien des valeurs que des noms et des dates, le format du résultat n'est pas toujours bon, notamment quand le Résultat est une date. (40179 au lieu de 01/01/2010)

    Y a t'il moyen de conserver le format de la cellule dans le Résultat?

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour Razekiel,
    Y a t'il moyen de conserver le format de la cellule dans le Résultat?
    Pas à ma connaissance sauf à passer par du code VBA.
    Toutefois, il est possible à l'aide d'astuces diverses d'avoir un format adéquat.
    Pour tester si c'est une valeur numérique ou alphanumérique, les fonctions ESTNUM ou ESTTEXTE te renverront VRAI ou FAUX.
    Par contre pour les dates, il n'y a pas comme en VBA une fonction permettant de la détecter et comme une date est un nombre, nous ne pourrons pas savoir si la fonction ESTNUM renvoie VRAI si c'est un nombre ou une date.
    On pourrait alors éventuellement tester l'étiquette de colonne. Si elle contient le mot Date, on passe par le format date (fonction TEXT)
    Exemple si la valeur est en A2
    Voilà quelques pistes
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    si ca commence à toucher au VBA ca va me dépasser.

    Je n'arrive en revanche pas bien à intégrer tes pistes.... avec la fonction TEXT.

    Je vais continuer de chercher, si d'autres ont également des pistes, je suis preneur.
    Merci en tout cas Philippe, tu m'as bien débloqué !

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Voici en image, l'illustration de ce que tu peux obtenir avec une formule incluant les fonctions SI, TEXTE, CHERCHE et ESTERR formaté à l'aide du format personnalisé # ##0,0# si c'est un nombre

    Image 1 : Montre la distinction entre un nombre et une date (à condition que l'étiquette de colonne contienne le mot date)
    Nom : 150905 dvp Index Equiv - Format 1.jpg
Affichages : 3428
Taille : 73,2 Ko
    Image 2 : Formate la date avec la fonction TEXTE
    Nom : 150905 dvp Index Equiv - Format 2.jpg
Affichages : 3359
Taille : 86,0 Ko


    En formatant la plage $G$3:$I$6 par le format personnalisé # ##0,0# ou #.##0,0#, la formule se résume à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERR(CHERCHE("date";C$2));C3;TEXTE(C3;"jj/mm/aa"))
    Il suffit d'intégrer maintenant cette formule en remplaçant la référence à C3 par la combinaison INDEX/EQUIV
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    merci philippe,

    Je teste ça dès demain. Je te fais un retour.

    Merci pour ton aide

  9. #9
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, également consultable : Les fonctions Index et Equiv

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 54
    Points : 13
    Points
    13
    Par défaut
    merci pour le lien kiki, j'étais déjà tombé dessus, mais je n'avais pas encore les notions.
    Il faut que je le relise à tête reposée.

    @Philippe
    Je suis désolé mais je n'arrive pas à mettre en application ce que tu m'expliques car je ne distingue pas les différentes étapes à faire pour parvenir à mes fins.
    Y a t'il une possibilité de passer par la fonction SI?

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 767
    Points : 28 626
    Points
    28 626
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    @Philippe
    Je suis désolé mais je n'arrive pas à mettre en application ce que tu m'expliques car je ne distingue pas les différentes étapes à faire pour parvenir à mes fins.
    Y a t'il une possibilité de passer par la fonction SI?
    Qu'est-ce que tu ne comprends pas, où rencontre-tu une difficulté ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2010] Fonctions INDEX EQUIV DECALER RECHERCHE ?
    Par LiseUEMPT dans le forum Excel
    Réponses: 3
    Dernier message: 25/06/2014, 21h31
  2. [XL-2007] Recherche a 2 variables avec fonction index et Equiv
    Par Accord59 dans le forum Excel
    Réponses: 21
    Dernier message: 21/02/2014, 16h21
  3. Réponses: 7
    Dernier message: 05/06/2009, 20h43
  4. Autre fonction qu'index pour rechercher un motif?
    Par Mayeu dans le forum Bioinformatique
    Réponses: 1
    Dernier message: 16/04/2007, 11h45
  5. Creation etat en fonction d'une recherche
    Par Raphael39 dans le forum Access
    Réponses: 6
    Dernier message: 08/01/2006, 09h08

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