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 :

[VBA-E] N° et VLOOKUP


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut [VBA-E] N° et VLOOKUP
    Rebonjour,

    Pleins de questions aujourd'hui ...

    J'ustilise beaucoup dans mes feuilles la fonction RechercheV que je viens placer ds mes tableaux par macro.
    Est il possible d'obtenir le n° de ligne de la valeur trouvée par cettefonction ???

    Ha ha, je crois que c'est une bonne question pour une fois ...

    Toutes mes félicitations à celui/celle qui me retirera cette épine du pied

  2. #2
    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
    Par défaut
    ben recherchev te renverra pas de ligne
    par contre rang te renverra la position de ta valeur si les valeurs sont numériques

    sinon utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Function rangmodif(x As Variant, ParamArray y() As Variant) As Long
    Application.Volatile
    Dim u As Variant
    Dim v As Variant
    Dim rang As Long
    rang = 1
    For Each u In y
    If VarType(u) < 8000 Then
        If x < u Then rang = rang + 1
        Else
        For Each v In u
        If v < x Then rang = rang + 1
        Next v
    End If
    Next u
    rangmodif = rang
    End Function
    et ajoute au résulat la ligne de l'entête de laliste

  3. #3
    Expert éminent


    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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Je ne comprend pas bien tout ce code, je vais donc l'éplucher ...

    Sinon pour la fonction WorksheetFunction ca m'aiderait beaucoup (car je préfèrerais ds ce cas obtenir le n° de ligne par XL) mais je ne sais pas comment obtenir le n° de ligne auquel la fonction recherchev fait référence)

    En fait je vais détailler mes besoins ... (non ne partez pas déjà ... )

    J'ai un très grand tableau (1200lignes/40colonnes) et chaque ligne a un numéro d'étude (unique à priori)
    Chacun de mes 50/60 mini-tableaux que je créé par macro doit etre rempli par les données du grand tableau.
    D'ou l'intéret de la fonction RechercheV. Si je connaissais le n° de ligne du résultat de ma fonction, ca me permettrai d'obtenir mes infos plus facilement ... plutot que de concatener pleins de fonctions Vlookup par macro

    J'espère avoir ete clair, mais j'ai qq doute
    Merci pour vos conseils

  5. #5
    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
    Par défaut
    ben tu ajoutes une colonne à ton tableau avec la formule =ligne()
    si tu fais unrecherchev(valeurcherchée,montableau,index de la colonne où il y a ligne) tu auras ton bonheur

    ps la fonction permet de trouver le rang si les valeurs sont triées elle te donne donc le nombre à ajouter à la ligne 1

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    salut,
    si j'ai bien tout compris, et c'est loin d'etre sur par la macro, tu rentre des fonctions rechercheV dnas ton grand tableau et tu te sert de ce resltat pour continuer ta macro et créer ton tableau. tu crois pas que tu aurais interet a chercher ce resultat directement par la macro?
    tu fais une boucle, tu cherche, tu trouve (ce qui en passant te donne directement le nombre de ligne, mais pour le coup, tu n'en a plus besoin), et ensuite tu élabore ton tableau.
    pourquoi faire simple quand on peut faire compliqué??
    excuse moi si mon raisonement a l'air simpliste, j'ai peu d'élément pour en juger, mais c'est la reflexion qui me saute aux yeux quand je te lis
    bonne continuation

  7. #7
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    je crois que tu n'as pas tout saisi.
    La fonction de random permet de trouver la ligne dans un tableau ordonné par son rang + un numéro de ligne de départ.
    Sinon sa reco d'une colonne qui contient le résultat de la fonction LIGNE est encore plus simple.

    Citation Envoyé par alsimbad
    salut,
    si j'ai bien tout compris, et c'est loin d'etre sur par la macro, tu rentre des fonctions rechercheV dnas ton grand tableau et tu te sert de ce resltat pour continuer ta macro et créer ton tableau. tu crois pas que tu aurais interet a chercher ce resultat directement par la macro?
    tu fais une boucle, tu cherche, tu trouve (ce qui en passant te donne directement le nombre de ligne, mais pour le coup, tu n'en a plus besoin), et ensuite tu élabore ton tableau.
    pourquoi faire simple quand on peut faire compliqué??
    excuse moi si mon raisonement a l'air simpliste, j'ai peu d'élément pour en juger, mais c'est la reflexion qui me saute aux yeux quand je te lis
    bonne continuation

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Citation Envoyé par WagaSeb
    Rebonjour,

    Pleins de questions aujourd'hui ...

    J'ustilise beaucoup dans mes feuilles la fonction RechercheV que je viens placer ds mes tableaux par macro.
    Est il possible d'obtenir le n° de ligne de la valeur trouvée par cettefonction ???

    Ha ha, je crois que c'est une bonne question pour une fois ...

    Toutes mes félicitations à celui/celle qui me retirera cette épine du pied
    Et au lieu d'utiliser la fonction recherchev, si tu utilisais la fonction equiv (match en anglais)?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Bonjour à tous et merci pour vos nombreuses réponses
    J'ai du passer sur un autre projet donc je regarderai toutes vos possibilités un peu plus tard, mais avec toutes vos propositions ca devrait se décoincer.

    Sinon, je préfèrerai qd meme passer par un fonctuion d'excel car en fait ma macro vient créer des minitableaux qui vont chercher eux meme (formules) leurs données. Et en fait j'aurais besoin d'avoir une tracabilité de mes données, alors qu'une macro me donnera une valeur brute difficilement vérifiable ...

    En tout cas merci à tous
    Seb

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

Discussions similaires

  1. [XL-2007] VBA : utilisation application.worksheetfunction.vlookup
    Par houmok dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/10/2010, 17h37
  2. [VBA-E]Fonction vlookup et chemin d'accès fichier
    Par rustic51 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/06/2006, 23h01
  3. [VBA-E] Vlookup
    Par MatMeuh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/04/2006, 13h22
  4. [VBA-E]Pb code VLOOKUP
    Par fabrice92 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/03/2006, 20h15
  5. [VBA][EXCEL]PB avec la commande WorksheetFunction.VLookup
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/11/2005, 16h41

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