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 :

Problème avec Vlookup. [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Bonjour,

    C'est le boulet de service qui vient encore vous solliciter.

    J'ai des problèmes avec Vlookup. J'ai parcouru les sujets ayant traité cette fonction sur le forum mais mon faible niveau VBA ne m'a pas permis d'en faire bon usage
    Voilà ma problématique:
    D'une part, j'ai une table avec des noms de vendeurs (c'est un exemple car mes vraies données sont couvertes par le secret médical) et leur identifiant. Un identifiant unique par vendeur, cela va de soit.
    D'autre part, j'ai un tableau avec des données sur des factures, dont l’identifiant du vendeur.
    Je désire ajouter au tableau "factures", le nom du vendeur.

    Mon code me renvoie le message suivant:
    Erreur exécution '1004'
    Impossible de lire la propriété Vlookup de la classe WorksheetFunction

    Rien ne s'inscrit dans les cellules destination
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Essai()
     
        Dim I As Long
     
        I = 1
        While Not IsEmpty(Cells(I, 1))
     
            Cells(I, 4).Value = Application.WorksheetFunction.VLookup(Cells(I, 2), Sheets("TCD").Range("A1:B51"), 2, False)
     
        I = I + 1
        Wend
     
     
     
    End Sub
    Merci d'avance pour votre aide
    Amicalement
    Jean-François

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Vlookup est capricieuse!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(I, 4).Value = Application.WorksheetFunction.VLookup(cstr(Cells(I, 2)), Sheets("TCD").Range("A1:B51"), 2, False)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Bonjour,

    Effectivement Vlookup est capricieuse mais en plus elle est coriace car j'ai toujours le même message d'erreur !

    Voici les déclarations que j'ai fait en début de macro, au cas où...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
    Public Prat As Long
    Public Ws As Worksheet
    Public prs As String
    Public i As Long
    Public LgnDeb As Long
    Public DerLgn As Long
    Public Ligne As Long
    Merci pour le coup de main
    J-F

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Quelque chose de confidentiel? Peux tu m'envoyer ton fichier que je fasse quelques tests ?

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      I = 1
    On error resume next
        While Not IsEmpty(Cells(I, 1))
     
            Cells(I, 4).Value = Application.WorksheetFunction.VLookup(Cells(I, 2), Sheets("TCD").Range("A1:B51"), 2, False)
     
        I = I + 1
        Wend
    Et regarde à quelle ligne cela ne marche pas

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Re bonjour

    Je ne peux te communiquer mes fichiers car leurs données sont couvertes par le secret médical. Je sais que cela simplifierait les choses mais impossible.

    Je viens d'essayer ta solution. Je n'ai plus de message d'erreur mais il ne se passe rien dans la colonne 4....

    J-F

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Et bien envoi ton fichier en modifiant les cases par des chaines de caractères du genre dfsuhfgsd il me suffit d'e trois lignes pour avoir la structure.

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

Discussions similaires

  1. [XL-2010] Problème avec Vlookup
    Par jmh51 dans le forum Excel
    Réponses: 6
    Dernier message: 26/06/2014, 12h00
  2. [XL-2003] Problème avec VLookup
    Par sbeprod dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/02/2013, 17h58
  3. Problème avec VLookup
    Par PsychedeChed dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/02/2008, 23h49
  4. Problème avec VLOOKUP
    Par freyliss dans le forum Excel
    Réponses: 7
    Dernier message: 23/07/2007, 12h02
  5. Problème avec VLookup sous VBA
    Par julio26 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 20/07/2007, 14h03

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