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 :

Macro VBA - Vlookup (Encore lui)


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 20
    Points
    20
    Par défaut Macro VBA - Vlookup (Encore lui)
    Hello world !

    Problématique du jour : Transformer mes magnifiques =VLOOKUP()
    nombreux et réminiscent sur mes feuilles excel, en un code VBA que je puisse appliquer à toutes mes feuilles.

    J'ai cherché sur internet, j'ai trouvé plusieurs codes, mais je n'arrive décidément pas à les adapter, aussi je viens appeler à l'aide

    Actuellement, mon VLOOKUP est situé dans la colonne V, sur tout les cases de V2 à VX (X étant la dernière ligne renseignée).

    le code le voici : =VLOOKUP(A2;'[FichierSource.xlsx]Sheet1'!$A:$Z;17;0)

    J'aimerais savoir comment traduire ça en VBA ?

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Workbooks.Open (Path\FichierSource.xlsx)  
        Dim RNG As Range
        Set RNG = Workbooks(FichierSource.xlsx).Worksheets("sheet1").Range("$A:$Z")
     
        Debug.Print Application.WorksheetFunction.VLookup(Cells(1, 2), RNG, 17, 0)
    Mais j'ai un message d'erreur.
    Runtime error 1004 - Application or Function Object Error (approximativement)

    Il n'y à rien à faire, j'ai beau manipuler, je n'arrive pas à comprendre la logique, et donc à renseigner correctement la fonction.

    Peut-être que je pense trop à la fonction excel, au lieu de penser VBA ?

    Quelqu'un aurait-il l'aimabilité d'éclairer ma lanterne s'il vous plait ?

    Par avance merci aux codeurs rapides de la gâchette !

    Je souhaites intégrer ce code dans une procédure ADO (bien que je ne maîtrise pas encore le sujet, je commence à y voir plus clair aussi sur ça).

    du coup, est-ce que ça ne poserait pas de problèmes du fait que je souhaites conserver les fichiers fermés, alors que dans le code ci-dessus, le code nécessite le fichier ouvert ?

    C'est un casse-tête complet !! C'est à se tirer les cheveux !

    S.o.s.

  2. #2
    Membre confirmé Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Points : 481
    Points
    481
    Par défaut
    Bonjour,

    Essayes d'enlever dans ton code le "WorksheetFunction

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Bonjour

    Effectivement ça solutionne ce message d'erreur.

    par contre soit je manque de sommeil, soit de caféïne, ou tout simplement de neuronnes ... mais visiblement ça ne fonctionne pas.

    Rien ne se passe au terme de la macro, les valeurs ne changent pas
    Je vais continuer mes investigations, mais si quelqu'un avait la moindre idée en passant sur le post, je lui en serait reconnaissant !

  4. #4
    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 922
    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 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    L'erreur provient du fait que la valeur contenue dans Cells(1, 2) n'a pas été trouvée dans le tableau référencé par RNG.
    Avec ce code le message d'erreur est traité
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     On Error Resume Next
     Debug.Print Application.WorksheetFunction.VLookup(Cells(1, 2), RNG, 17, 0)
     If Err Then MsgBox "Pas trouvé " & Cells(1, 2)
     On Error GoTo 0

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Ah !

    Merci pour l'explication, très utile, car finalement en cherchant les significations précises des messages d'erreurs, j'ai fini par solutionner mon problème

    (Et j'ai beaucoup appris sur le VBA, par la même occasion)

    Merci bien pour votre aide !

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

Discussions similaires

  1. [XL-2007] Assigner une icone dans le ruban personnalisé de'excel et lui attribuer une macro VBA
    Par Romanuche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/07/2009, 10h44
  2. VBA-E ENCORE PB Macro VBA qui marche pas
    Par sam25 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/01/2007, 05h31
  3. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51
  4. Macro VBA sur Access
    Par beurnoir dans le forum Access
    Réponses: 3
    Dernier message: 12/10/2005, 16h46
  5. [SQL][MACRO VBA]Pb de syntaxe
    Par Stef.proxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/08/2004, 09h11

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