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

Macros et VBA Excel Discussion :

[Excel] Comment utiliser la fonction RECHERCHEV


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut [Excel] Comment utiliser la fonction RECHERCHEV
    Bonjour

    J'ai le probleme suivant

    j'utilise la formule suivante :

    =RECHERCHEV(MEM_TER_PRIME;A37:G45;2)

    mem_ter_prime est une valeur en dur la aucun pbl ca marche, seulement si mem_ter_prime est une valeur issu d'une formule il me di que ca fait une reference circulaire ou quelque chose dans le genre...

    Je sais pas si j'ai ete clair mais j'ai besoin d'aide
    Merci d'avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ça c'est un sujet de question qui rendra service à tout le monde !
    Ceci dit, si, tu as pas été très clair mais pour la peine...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Ben en gros j'ai l'impression que lorsqu'on utilise la fonction RECHERCHEV avec une cellule qui ne contient qu'une valeur en dure y'a pas de probleme tout fonctionne mais dès qu'on utilise par exemple une cellule qui contient une formule de calcule ben la il gueule...

    et c vraiment problematique...

    Ai-je été plus clair ?

  4. #4
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Salut,

    et si ton résultat est dans une cellule tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MEM_TER_PRIME=cells(lign, coln).value
    juste une idée comme cela en passant et je sais pas si ça peux t'aider.

    Igloobel
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    non je ne pense pas que cela m'aiderai

    en fait la c du code en vba que tu m'indique mais le probleme se trouve uniquement dans ma feuille excel

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Quel type de formule y-a-t-il dans la cellule ?
    As-tu essayer de passer par une cellule intermédiaire ne contenant que le résultat de ta formule
    Ex : =A5
    où A5 contiendrait la formule et MEM_TER_PRIME le nom de A5 (ou de la colonne A)... si j'ai bien compris...

    Tu dis

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    c'est sur que si la formule contenu dans "MEM_TER_PRIME" , fais référence as la cellule contenant la formule "RechercheV..." tu tourne en rond..

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    je comprend que dal loool

    je vai detaillé mon pbl vous comprendrez ptetr mieu

    =RECHERCHEV(MEM_TER_PRIME;A37:G45;2)

    dans ce cas ca marche tres bien puisque MEM_TER_PRIME = 18.25

    or moi je veux faire

    =RECHERCHEV(MEM_PRIME;A37:G45;2)

    et MEM_PRIME = =SI(ET(GAUCHE(B17;1)="T";ANNEE(ENTREES!Pol_DteEffetOrigine)>2004);C31;SI(B23=VRAI;RECHERCHEV(B13;F8:G12;2);RECHERCHEV(B13;F17:G21;2)))

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    quand on a des références circulaires involontaires
    on fait outils audit de formule repèrer les antécédents dans la cellule qui a généré l'incident son adresse est dans la barre des tâches
    à priori tu saisis ta formule dans a37:g45 qui est la zone de recherche
    Elle est pas belle la vie ?

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    quand on a des références circulaires involontaires
    on fait outils audit de formule repèrer les antécédents
    Merci Random, à force, on oublie le plus simple...

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par forsay1
    jje vai detaillé mon pbl vous comprendrez ptetr mieu
    Il nous manque encore un détail ... ? tu la met ou ta formule = Recher..

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    j'ai rien capté lool

    desolé si je parais nul mais je saisi pas tout

    qu'entend tu par saisir la formule dans a37:g45 ??

  13. #13
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par forsay1
    qu'entend tu par saisir la formule dans a37:g45 ??
    tu l'ecrit ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =RECHERCHEV(MEM_PRIME;A37:G45;2)
    :

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    Ben la formule rechercheV je l'utilise dans une cellule de mon classeur

    en l'occurence la cellule C29

    mem_prime se trouve dans la cellule B24

  15. #15
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Comme pour comprendre il faut parcourir les 13 réponses précédentes, essaie de tout nous dire en une fois :

    =RECHERCHEV(MEM_PRIME;A37:G45;2) est placé en C29
    MEM_TER_PRIME se trouve en B24

    Donc,
    qu'y-a-t-il de A37 à G45 ?

    P'têtre ben qu'on y verra tous plus clair après...

    A+

    Edit

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    voila ce qu'il y a en A37:G45




    A B C D E F G

    0,00 1 1 1 1 1 1
    3 2 1
    3,52 3 2
    5,08 4 2 2
    6 5 1
    8,80 6 2
    10 7 1
    11 8 1
    18,25 9 2

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 212
    Points : 71
    Points
    71
    Par défaut
    oups je croi que c tres mal ressorti

    en fait c un tableau qui concerne une tarification

  18. #18
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je reprends la formule placée dans MEM_PRIME (soit en B24) :
    MEM_PRIME = =SI(ET(GAUCHE(B17;1)="T";ANNEE(ENTREES!Pol_DteEffetOrigine)>2004);C31;SI(B23=VRAI;RECHERCHEV(B13;F8:G12;2);RECHERCHEV(B13;F17:G21;2)))

    Comme ça, a priori, je ne vois pas du tout
    Mais je reste sur ma première idée et j'essaierais, "pour voir", d'isoler RECHERCHEV(B13;F8:G12;2) et RECHERCHEV(B13;F17:G21;2) dans des cellules séparées, placées "avant" B24 dans l'ordre de calcul d'Excel.
    Enfin, dans la formule ci-dessus, je remplacerais ces deux recherchev par les références à ces cellules.

    Sinon, je sais pas...

    A+

Discussions similaires

  1. [XL-2003] Comment utiliser les fonctions ESSBASE dans une macro excel ?
    Par kharon_rp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/04/2010, 15h17
  2. comment utiliser la fonction LIEN_HYPERTEXTE d'excel
    Par vampyer972 dans le forum Excel
    Réponses: 2
    Dernier message: 30/11/2006, 01h48
  3. Réponses: 3
    Dernier message: 01/01/2006, 00h09
  4. Comment utiliser la fonction NBR.JOURS.OUVRES?
    Par MEHCOOPER dans le forum Access
    Réponses: 9
    Dernier message: 20/10/2005, 13h50
  5. Réponses: 11
    Dernier message: 22/12/2003, 22h06

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