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 : worksheetfunction.vlookup


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut Problème avec : worksheetfunction.vlookup
    Encore une fois, je tiens à féliciter ce site et ces forums vraiment très utiles pour des développeurs débutants comme moi !

    Je viens d'écrire un code avec la fonction worksheetfunction.vlookup

    La recherche de données n'aboutit pas et j'obtiens un message d'erreur du type "erreur d'exécution '1004' Impossible de lire la propriété Vlookup de la classe worksheetfunction et la procédure s'arrête.

    Je comprends pas du tout d'où cela peut venir. Voici un extrait de mon code :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Private Sub UserForm_Initialize()
    'Initialisation de l'User Form Joueur
    Dim choixjoueur As Double
     
    'Index des valeurs
    Dim I
        For I = 2 To 49
            nomjoueurs.AddItem Sheets("DONNEES").Cells(I, 2)
        Next
    End Sub
     
    Sub Selection_client()
    choixjoueur = nomjoueurs
     
    End Sub
     
    Private Sub BT_fermer_Click()
    'Fermer le User Form
    Clients.Hide
    End Sub
     
    Private Sub nomclient_Click()
    'Initialisation des variables
    Set I = Sheets("DONNEES").Range("A2:I48")
    choixjoueur = nomjoueurs
     
    'Remplissage des textbox après choix du joueur
    fnumero = Application.WorksheetFunction.Vlookup(choixjoueur, I, 1)
    fnom = Application.WorksheetFunction.Vlookup(choixjoueur, I, 2)
    fprenom = Application.WorksheetFunction.Vlookup(choixjoueur, I, 3)
    fsexe = Application.WorksheetFunction.Vlookup(choixjoueur, I, 4)
    fstatut = Application.WorksheetFunction.Vlookup(choixjoueur, I, 5)
    fsalaire = Application.WorksheetFunction.Vlookup(choixjoueur, I, 6)
    fville = Application.WorksheetFunction.Vlookup(choixjoueur, I, 7)
    fnum = Application.WorksheetFunction.Vlookup(choixjoueur, I, 8)
    fage = Application.WorksheetFunction.Vlookup(choixjoueur, I, 9)
     
    End Sub
    Cette fonction est pour le listing client de ma base de données.

    Si cela peut être pratique voici un lien avec mon fichier Excel :

    http://skrs.free.fr/VBA/

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    salut
    en applicant ton code a pein modifié, ça fonctionne chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub test()
    choixjoueur = "toto"
    Set I = Sheets(1).Range("A1:b3")
     
    'Remplissage des textbox après choix du joueur
    fnumero = Application.WorksheetFunction.VLookup(choixjoueur, I, 2)
    MsgBox fnumero
    End Sub
    en fait je pense que ta variable choixjoueur n'est pas définie. si elle n'est pas égale a un nom , et même un nom présent dans le tableau, le fonction te renverra une erreur

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Suite à ta remarque j'ai mis ça. Cependant quand je clic sur un des clients ça ne me donne pas sa fiche pour autant (aucune info ne sort).

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    Private Sub UserForm_Initialize()
    'Initialisation de l'User Form Clients
    Dim choixjoueur As Double
     
    'Index des valeurs
    Dim I
        For I = 2 To 49
            nomjoueurs.AddItem Sheets("DONNEES").Cells(I, 2)
        Next
    End Sub
    Private Sub BT_fermer_Click()
    'Fermer le User Form
    Clients.Hide
    End Sub
     
    Private Sub nomclient_Click()
    'Initialisation des variables
    choixjoueur = "nomjoueurs"
    Set I = Sheets("DONNEES").Range("A2:I48")
     
     
    'Remplissage des textbox après choix du joueur
    fnumero = Application.WorksheetFunction.Vlookup(choixjoueur, I, 1)
    MsgBox fnumero
    fnom = Application.WorksheetFunction.Vlookup(choixjoueur, I, 2)
    MsgBox fnom
    fprenom = Application.WorksheetFunction.Vlookup(choixjoueur, I, 3)
    MsgBox fprenom
    fsexe = Application.WorksheetFunction.Vlookup(choixjoueur, I, 4)
    MsgBox fsexe
    fstatut = Application.WorksheetFunction.Vlookup(choixjoueur, I, 5)
    MsgBox fstatut
    fsalaire = Application.WorksheetFunction.Vlookup(choixjoueur, I, 6)
    MsgBox fsalaire
    fville = Application.WorksheetFunction.Vlookup(choixjoueur, I, 7)
    MsgBox fville
    fnum = Application.WorksheetFunction.Vlookup(choixjoueur, I, 8)
    MsgBox fnum
    fage = Application.WorksheetFunction.Vlookup(choixjoueur, I, 9)
    MsgBox fage
     
    End Sub
    Mon fichier est toujours disponible au lien ci-dessus. Si tu arrives à faire les modifications je suis preneur. Je comprends vraiment plus rien là.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    Private Sub choixjoueur_Change()
     
    End Sub
     
    Private Sub UserForm_Initialize()
    'Initialisation de l'User Form Clients
    Dim choixjoueur As Double
     
    'Index des valeurs
    Dim I
        For I = 2 To 49
            nomjoueurs.AddItem Sheets("DONNEES").Cells(I, 2)
        Next
     
    End Sub
     
    Private Sub nomjoueurs_Click()
    'Initialisation des variables
    Set I = Sheets("DONNEES").Range("A2:I48")
    choixjoueur = nomjoueurs
     
     
    'Remplissage des textbox après choix du joueur
    fnumero = Application.WorksheetFunction.Vlookup(choixjoueur, I, 1)
    MsgBox fnumero
    fnom = Application.WorksheetFunction.Vlookup(choixjoueur, I, 2)
    MsgBox fnom
    fprenom = Application.WorksheetFunction.Vlookup(choixjoueur, I, 3)
    MsgBox fprenom
    fsexe = Application.WorksheetFunction.Vlookup(choixjoueur, I, 4)
    MsgBox fsexe
    fstatut = Application.WorksheetFunction.Vlookup(choixjoueur, I, 5)
    MsgBox fstatut
    fsalaire = Application.WorksheetFunction.Vlookup(choixjoueur, I, 6)
    MsgBox fsalaire
    fville = Application.WorksheetFunction.Vlookup(choixjoueur, I, 7)
    MsgBox fville
    fnum = Application.WorksheetFunction.Vlookup(choixjoueur, I, 8)
    MsgBox fnum
    fage = Application.WorksheetFunction.Vlookup(choixjoueur, I, 9)
    MsgBox fage
     
    End Sub
     
    Private Sub BT_fermer_Click()
    'Fermer le User Form
    Clients.Hide
    End Sub
    Bon maintenant le nom saisi dans la liste est recopié dans le TxtBox du nom de choixjoueur. Mais le Vlookup me réponds qu'il n'arrive pas à lire les informations. Pourtant quand je passe au dessus du mot choixjoueur il me met que la valeur du nom choisi mais pourtant ne remplit pas les cases.

    Erreur d'éxécution '1004':

    Impossible de lire la propriété Vlookup de la classe WorksheetFunction.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Par défaut
    Problème Résolu.

    Merci à Salimbad pour son aide.

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

Discussions similaires

  1. [XL-2013] Problème avec fonction vlookup
    Par iseulysse dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/01/2015, 10h45
  2. [XL-2003] VBA - Problème avec WorksheetFunction.Match
    Par oracle7556 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/07/2010, 16h02
  3. quel code écrire en cas d'erreur avec "worksheetfunction.vlookup"
    Par lerouxjm dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/12/2007, 17h38
  4. Problème avec VLookup sous VBA
    Par julio26 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 20/07/2007, 14h03
  5. [VBA][EXCEL]PB avec la commande WorksheetFunction.VLookup
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/11/2005, 16h41

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