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 :

probleme avec index + equiv


Sujet :

Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    Bonjour les maitre d'excel

    suite à ma discussion d'avant hier (concernant les soucis avec recherche v) j'ai créé une fonction avec index et equiv.
    Cette fonction marche trés bien lorsque je rentre les valeurs manuellement.
    Je voudrais recopier cette fonction sur toutes les cellules d'une colonne pour appliquer la fonction (pas de soucis particulier) le probleme est que la fonction me retourne #N/A sur la majorité des lignes.
    Sachant que les valeurs de la colonne A proviennent d'un fichier texte qui a été traité avant, peut il y avoir une erreur de lecture (avec par exemple des espaces inutiles?)

    Ci joint le code de la première ligne de ma fonction(cellule Q12)

    A vous lire
    Lps02

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(qualite!D2:$D$28;EQUIV(A12;qualite!$E$2:$E$28;0))
    Remarque: j'avais complété la colonne A avec la fonction "trim" qui annule les espaces. Est ce en rapport?

  2. #2
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    A part que le D2 n'a pas les $, et donc qu'il pourrait y avoir en problème en déroulant la formule, elle a l'air correct (qu'est-ce qui ne marchait pas avec RechercheV, ça devrait revenir exactement au même ?).

    Ca doit plutôt venir des données. Tu as essayé sur une valeur où ça ne marchait pas, de faire une vérification manuelle ? Par exemple si ça ne marche pas en Q23 et que visuellement A23 devrait être égal à E14 :
    Sinon, envoie un exemple de fichier
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    Pour avoir un peu plus d'explication, peux tu regarder le message d'hier soir à 19h41 adressé par Bbil

    Merci de ton aide

    lps02

  4. #4
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Ok, désolé, je n'avais pas fait attention au fait que la colonne de recherche était à droite de la colonne de résultat, effectivement, RechercheV ne fonctionne plus dans ce cas.

    As-tu bien remplacé D2:$D$28 par $D$2:$D$28 comme suggéré ? Car si tu déroule cette formule, à chaque ligne elle va décaler D2 et donc perdre un élément de la base de référence. Et à partir de la 28ème ligne, la base sera vide.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    Oui, Voilà ma nouvelle fonction sans succés)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(qualite!$D$2:$D$28;EQUIV(lotissement!A12;qualite!$E$2:$E$28;0))

  6. #6
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,
    INDEX requière une ligne et une colonne dans la matrice.
    Or dans votre formule je ne vois que EQUIV qui ramène la ligne mais je ne vois pas de colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(qualite!$D$2:$D$28;EQUIV(lotissement!A12;qualite!$E$2:$E$28;0);N°delaColonne)
    Cordialement.

    RJ

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    j'ai essaye ceci mais sans succes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(qualite!$D$2:$D$28;EQUIV(A12;qualite!$E$2:$E$29;0);0)
    remarque: la fonction marchait parfaitement quand je rentrai les valeurs manuellment sans le n° de colonne

    Cordialement

    lps02

    J'ai rentré à nouveau les valeurs manuellement et ça semble fonctionner.

    par contre toujours l'erreur 1004 citée ce matiin (cf catégorie "macro et vba")

    Mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub codification()
    Dim i As Long
    i = 2
    While Sheets("BD").Cells(i, 1) <> ""
    Sheets("BD").Cells(i, 2) = Application.WorksheetFunction.Index(Sheets("qualite").Range("$D$2:$D$28"), Application.WorksheetFunction.Match(Sheets("BD").Cells(i, 3).Value, Sheets("qualite").Range("$E$2:$E$28"), 0), 0)
    i = i + 1
    Wend
     
     
    End Sub

  8. #8
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Le numéro de colonne est effectivement optionnel. Si on le précise, il faut mettre 1 et non 0.

    Pour un ligne où ça ne marche pas, pourrais-tu donner la formule de cette ligne et les valeurs des cellules impliquées. Et à la rigueur dans un premier temps, tu peux séparer ta formule (le match dans une colonne et l'index dans une autre) histoire d'être sûr de voir d'où vient l'erreur.
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    ok, j'ai fait les changements cités plus haut Ca semble marcher sur la feuille excel mais toujours soucis avec la formule sous vba

    Un avis???

    lps02

  10. #10
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Dans le VBA, tu as remplacé le dernier 0 par un 1 (Dans Index) ?
    Et sinon, on est bien d'accord que dans le code, tu ne fais pas comme dans la formule ? Tu vas bien chercher la valeur à reconnaître en colonne 3 et non 1 ?
    « Compter en octal, c’est comme compter en décimal, si on n’utilise pas ses pouces » - Tom Lehrer
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 174
    Points : 144
    Points
    144
    Par défaut
    ça y est tout est ok.

    Pour info, il a fallu que j'utilise la fonction "trim" avant de faire la recherche avec index et match.

    Merci pour tout

    Cordialement

    lps02

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Trouver avec index/equiv
    Par Bloubee dans le forum Excel
    Réponses: 6
    Dernier message: 08/04/2013, 21h02
  2. [XL-2010] recherche avec index/equiv
    Par Bloubee dans le forum Excel
    Réponses: 1
    Dernier message: 28/01/2013, 08h10
  3. Comment avoir 2 résultats et plus avec index/equiv
    Par Bloubee dans le forum Excel
    Réponses: 1
    Dernier message: 18/10/2011, 14h32
  4. [AC-2003] probleme avec index de tabulation sur un onglet
    Par sebinator dans le forum IHM
    Réponses: 1
    Dernier message: 24/04/2009, 14h39
  5. Probleme avec Fonction equiv()
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/07/2007, 10h02

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