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 :

Recherche V Explication


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2017
    Messages : 7
    Par défaut Recherche V Explication
    Bonjour,

    je recherche a faire une recherche V mais je ne comprends pas pourquoi:

    Quand j'enregistre la macro j'ai ce type de code . Voir ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("G16").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[7],R15C21:R26C22,2,TRUE)"
    Alors que sur Excel la formule est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =VLOOKUP(N16,$U$15:$V$26,2,TRUE)
    Je ne comprends pas la formule du recorder de macro. pourquoi ce n est ce pas la meme ?


    2.Est il possible de rendre la recherche V dynamique. cest a dire que ma macro adapte la recherche V en function du nombre de ligne dans le tableur


    Merci pour votre aide.

  2. #2
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    quand tu utilises l'enregistreur de macro, il utilise la propriété .formulaR1C1. les programmeurs de MS aurai peu activer .Formula mais c'est comme çà.

    1- Du coup, ta formule est bien la même :
    Le RC[7] renvoi à ton N16. RC[7] pour même ligne, 7 colonnes à gauche. Sauf erreur, par rapport à ton enregistrement cela doit donné N16 (référence relatives)

    2- Là tu as deux solutions
    Le plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[7],R15C21:R2600C22,2,TRUE)"
    Cela n'aura pas d'effet négatif sur la rapidité de fonctionnement de la formule.
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DernLigne = Range("V" & Rows.Count).End(xlUp).Row
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[7],R15C21:R" & DernLigne & "C22,2,TRUE)"
    Là Excel analyse la colonne V pour déterminer la dernière ligne utilisée.

    PS : on est bien d'accord que, avec le TRUE, à la fin, tu recherches un intervalle de valeur et que ton tableau U15:V22 est bien trié par ordre croissant de la colonne U.

    En espérant que c'est bien ce que tu veux.

    Edit : Merci à Eric KERGRESSE de m'avoir fait remarquer que je dormais encore et que j'ai bouletté ...

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Janvier 2017
    Messages : 7
    Par défaut
    Merci pour ton explication.

    Quelle serait la formule a ecrire pour avoir un Vlookup de ce type. (incluant une function dynamique)

    =VLOOKUP(N16,$U$15:$V$26,2,TRUE)


    Merci d''avance

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Utilise Formula plutôt que FormulaR1C1

Discussions similaires

  1. Recherche tuto explication appel Ajax Partial View
    Par dark0502 dans le forum Développement Web avec .NET
    Réponses: 0
    Dernier message: 07/04/2013, 11h19
  2. [LabView 8.5] Recherche d'explication sur un exemple
    Par yoann23 dans le forum LabVIEW
    Réponses: 9
    Dernier message: 01/04/2008, 14h56
  3. [EMF, plugin, XMI] recherche explications
    Par Hug0_76 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 07/12/2006, 20h02
  4. Recherche code d'un fifo,ou explication
    Par don-diego dans le forum C
    Réponses: 8
    Dernier message: 25/07/2002, 10h26
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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