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 :

Utilisation de VLOOKUP en VBA [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Par défaut Utilisation de VLOOKUP en VBA
    Bonjour tout le monde!

    Je viens vous voir car j'ai un petit problème en VBA, je commence tout juste le VBA donc je connais pas trop pour l'instant

    Voilà ce qu'il en est: dans mon premier fichier 1.xls j'ai un tableau à 2 colonnes (je simplifie le cas). La 1ère colonne réfère à des éléments d'une colonne du fichier 2.xls (mis à la main au cas par cas).
    Dans 1.xls je voudrais récupérer des infos relatifs à l'élément de la 1ere colonne qui se trouve dans 2.xls. Pour faire ça j'utilise un VLOOKUP qui fonctionne très bien mais pour éviter que l'ouverture de 1.xls mette 5minutes à chaque fois j'ai crée un bouton de MAJ asocié à une macro.
    (Je sais pas si je très compréhensible >_<)

    Exemple pratique.
    1.xls
    Col1 Col2
    A Ax (cherché dans 2.xls)
    B Bx (cherché dans 2.xls)
    C Cx (cherché dans 2.xls)

    2.xls
    Col1 Colxx
    A Ax
    B Bx
    C Cx

    Je ne peux pas fusionner les 2 fichiers ils sont tous les deux conséquents et n'ont pas la même utilité!

    Pour la partie VBA, je fais une simple boucle while ou je passe en revue chaque ligne de 1.xls et je vais chercher dans 2.xls avec mon vlookup. Je ne sais pas vraiment comment faire .. pour l'instant j'utilise un range(xx).formula = "=vlookup(...)" mais le problème vient du fait que je ne peux changer la case de la valeur_cherchée du vlookup à cause des guillemets.
    J'ai essayé ça: I est mon integer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim cellule As String
    cellule = Sheets(1).Range("A" & I)
    Sheets(1).Range("B" & I).Formula = "=VLOOKUP(cellule,'2.xls'!$A:$AQ,43,0)"
    Avec ça il me met comme valeur_cherchée "cellule" pour chaque case.. je ne vois pas trop comment faire pour que ça fonctionne correctement

    MErci beaucoup de votre aide!

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    essai comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets(1).Range("B" & I).Formula = "=VLOOKUP(" & Sheets(1).Range("A" & I).value & ",'2.xls'!$A:$AQ,43,0)"

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Novembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 2
    Par défaut
    Merci de ton aide! En fait VLOOKUP cherche sur la case et pas la valeur de la case, donc j'ai mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).Range("B" & I).Formula = "=VLOOKUP(" & "A" & I & ",'2.xls'!$A:$AQ,43,0)"
    et ça fonctionne nickel!

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Ce qui revient à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).Range("B" & I).Formula = "=VLOOKUP(A" & I & ",'2.xls'!$A:$AQ,43,0)"

  5. #5
    Invité de passage
    Homme Profil pro
    cadre financier
    Inscrit en
    Juillet 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : cadre financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2014
    Messages : 1
    Par défaut Remerciements à mercatog
    Citation Envoyé par mercatog Voir le message
    Ce qui revient à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).Range("B" & I).Formula = "=VLOOKUP(A" & I & ",'2.xls'!$A:$AQ,43,0)"
    La solution que vous avez donné à ce problème m'a permis de résoudre un problème sur lequel je planchais depuis hier . Donc un grand merci à vous
    Ascagne

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

Discussions similaires

  1. Utilisation du TreeView en VBA avec Word standard
    Par ckeromen dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/09/2006, 12h17
  2. Réponses: 8
    Dernier message: 29/06/2006, 15h37
  3. [VBA-A]Est-il possible d'utiliser un ArrayList en VBA?
    Par Caroline1 dans le forum VBA Access
    Réponses: 4
    Dernier message: 30/03/2006, 15h19
  4. utilisation de template en vba
    Par 24 faubourg dans le forum Access
    Réponses: 1
    Dernier message: 22/11/2005, 15h38
  5. Utilisation de DDERequest avec VBA
    Par queenmum dans le forum Général VBA
    Réponses: 1
    Dernier message: 10/09/2005, 12h24

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