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 :

[VBA ] recherchev avec no_index_col variable [Toutes versions]


Sujet :

Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [VBA ] recherchev avec no_index_col variable
    Bonjour,

    Je suis en stage et je débute en VBA
    Je dois mettre à jour un fichier en rajoutant dans un nouvel export certaines données de l'ancien export automatiquement car le fichier est mise à jour toute les semaines.
    Voici à quoi ressemble les exports (c'est juste un exemple le document comporte plus de 30 colonnes.

    Ancien
    Référence......Nom............Prénom.............Email......... Poste...........Sexe.........Age
    ..........0.............Dupond...........Jacques.......dj@mail.com.....apprenti...........M..........22
    ..........1.............Dubois.............Pierre.........dp@mail.com.......salarié...........M..........40
    ..........2.............DuMoulin........Charles........dc@mail.com.......stagiaire........M..........20

    Nouveau
    Référence......Nom.......Sexe........Prénom..........Email.............Age
    .......0..............Dupond........M.........Jacques.......dj@mail.com.........22
    .......1..............Dubois........ M.........Pierre..........dp@mail.com.........40
    .......2..............DuMoulin......M........Charles........dc@mail.com.........20


    Le problème que je rencontre est que les colonnes des fichiers ne sont pas forcement au même endroit du coup pour ma RECHERCHEV je n'ai pas de numéro de colonne fixe.
    Par exemple si j'effectue ma rechercheV dans l'ancien fichier l'âge se situe à la colonne 7 alors que le nouveau à la colonne 6 donc à la prochaine mise à jour la macro ne marche plus.
    J'ai réussi à récupérer le numéro de la colonne mais je n'arrive pas à l'utiliser dans la RECHERCHEV à la place de no_index_col

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim Col As Integer
     
    Windows("ancien_export").Activate
    Col = Sheets("ancien_export").Rows(1).Find("Age", , , , xlByColumns, xlPrevious).Column    'récupérer le numéro de la colonne
     
     Windows("nouveau_export").Activate
    Range("TableauBMIR[Age]").Select
        ActiveCell.FormulaR1C1 =VLOOKUP([Référence],ancien_export.xlsx!Tableau,Col,FALSE)"

    Utiliser "Col" à la place du numéro de colonne ne marche pas je ne vois pas trop comme faire

    Merci d'avance pour votre aide

  2. #2
    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 765
    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 765
    Points : 28 623
    Points
    28 623
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le problème que je rencontre est que les colonnes des fichiers ne sont pas forcement au même endroit du coup pour ma RECHERCHEV je n'ai pas de numéro de colonne fixe.
    Ce n'est franchement pas un problème. Il suffit d'imbriquer la fonction EQUIV dans la fonction RECHERCHEV et c'est un jeu d'enfant.
    Je te conseille la lecture du tutoriel de Pierre fauconnier pour mieux appréhender le sujet Fonctions Excel à la loupe : N°1 - RECHERCHEV()

    Tu peux aussi utiliser le filtre avancé d'excel qui permet d'exporter des données en sélectionnant certaines colonnes. A lire : Les filtres avancés ou élaborés dans Excel
    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

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Ahh Merciiii j'avais pas du tout pensé à cette méthode ^^

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    En fait la formule est considérée comme du texte, il faut donc concaténer avec ta variable comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.FormulaR1C1 = "=VLOOKUP([Référence],ancien_export.xlsx!Tableau," & Col & ",FALSE)"
    Bonne journée.

  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 765
    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 765
    Points : 28 623
    Points
    28 623
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Utiliser "Col" à la place du numéro de colonne ne marche pas je ne vois pas trop comme faire
    Pour écrire une formule dans une cellule d'excel, je te conseille la lecture de ces deux billets Ecrire une formule dans Excel à l'aide d'une procédure VBA et Ecrire une formule dans Excel à l'aide d'une procédure VBA (Part 2)
    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

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

Discussions similaires

  1. [XL-2007] rechercheV avec colonne variable
    Par lokura dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2012, 17h58
  2. vba recherchev avec userform
    Par patrickCG40 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/12/2011, 18h13
  3. [XL-2003] RechercheV avec paramètre variable
    Par Gayzou dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 26/07/2010, 10h39
  4. VBA - Graphique avec plage variable
    Par virstyle dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2010, 11h48
  5. [VBA-E]Probleme de variable avec Excel
    Par MaMart dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2006, 17h36

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