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 :

Vllook sur deux fichiers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    Avril 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2016
    Messages : 190
    Par défaut Vllook sur deux fichiers
    Bonjour
    ma formule ne marche pas
    J'ai un un classeur SOURCE wb1, sa feuille ws1 définie, qui contient des infos texte sur une plage définie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set wb1 = Workbooks.Open("C:\Users\SOURCE.xlsm")
        Set ws1 = wb1.Worksheets("Dossier")
        Dim Plage As Variant
        Set Plage = Range("A8:AS2149")
    L'info est en 43; ciolonne AQ

    J'ai un classeur Synthèse wb2, sa feuille ws2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Set wb2 = ThisWorkbook
        Set ws2 = wb2.Worksheets("Feuil1")
    C'est lui qu'on remplit.

    Dans une boucle sur wb2 donc, je veux seulement reporter en (i,7) la valeur texte trouvée dans wb1 dans la "Plage", sur la base du critère cellule i, colonne 1 de ws2

    J'écris tout ça comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ws2.Cells(i, 7) = Application.WorksheetFunction.VLookup(ws2.Cells(i, 1), ws1.Range("Plage"), 43, False)
    Le retour est N#A...

    Merci de 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
    13 175
    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 : 13 175
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il me semble avoir déjà répondu sur le même sujet dans cette réponse.
    Cela ne sert à rien d'ouvrir une nouvelle discussion sur le même sujet. Cela irrite les personnes qui prennent la peine de répondre.
    Si tu ne comprends pas les réponses reste dans la même discussion et demande des précisions.

    Dans ta première procédure, il y a d'après moi, déjà un problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set wb1 = Workbooks.Open("C:\Users\SOURCE.xlsm")
        Set ws1 = wb1.Worksheets("Dossier")
        Dim Plage As Variant
        Set Plage = Range("A8:AS2149")
    La variable objet Plage (déclarée comme Variant alors qu'elle devrait être déclarée comme un Range) a comme objet parent la feuille active.
    Où as-tu déclaré les variables wb1 et ws1 ?
    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
    Membre confirmé Avatar de Polygos
    Homme Profil pro
    Ma petite entreprise
    Inscrit en
    Avril 2016
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ma petite entreprise
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2016
    Messages : 190
    Par défaut
    Bonjour Philippe,
    je pense que c'est bien un second sujet car l'approche est différente.
    La première solution donnée, difficile à comprendre quand on n'est pas spécialiste, est par contre très synthétique donc intéressante. Mais il faut du temps pour entrer dedans.
    La seconde demandée, rechercher une erreur dans ma formule, à moins que le principe de cette formule ne soit pas adaptée, doit conduire au résultat aussi, surtout pour les non spécialistes.
    Voila pourquoi j'ai ouvert un autre cas et je regrette que qqn en soit vexé; toi peut être vu que l aquestion ne passionne pas les foule spour l'instant.

    Pour répondre à ta question, je suis peu sur de moi c'est certain mais ta question me déroute: où ai je déclaré wb1 et ws1 ?
    Normalemnt juste au dessus comme tu peux le voir ou alors je me suis trompé ?
    Pour le format range, oui, c'est vrai, bien vu.
    Par contre, non, même résultat en définissant la plage comme range.
    Il doit y avoir une autre erruer dans cette formeule ou elle n'est pas correcte du tout, sur le principe.

    Non ?

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

Discussions similaires

  1. programme basé sur deux fichiers - gfortran
    Par oodbae_adriano dans le forum Fortran
    Réponses: 2
    Dernier message: 11/10/2012, 23h59
  2. [XL-2007] Comparer 2 colonnes sur deux fichiers
    Par Vishnou dans le forum Excel
    Réponses: 3
    Dernier message: 08/04/2010, 00h44
  3. diff sur deux fichiers encodés latin1 et UTF-8
    Par noooop dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/02/2010, 14h14
  4. programme sur deux fichiers
    Par magikk dans le forum Langage
    Réponses: 3
    Dernier message: 20/02/2008, 18h41
  5. une liste ou requête basée sur deux fichiers
    Par chapeau_melon dans le forum WinDev
    Réponses: 8
    Dernier message: 12/11/2007, 20h00

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