Problème avec la fonction Vlookup [VBA Excel] - VB/VBA/VBS - Programmation
Marsh Posté le 23-11-2008 à 18:38:30
bonsoir,
2007 n'a pas beaucoup de fan : Il serait préférable d'enregistrer ton fichier au format 2003
A+
Marsh Posté le 23-11-2008 à 19:05:20
Le fichier est maintenant disponible en 2003 et 2007. Selon vos logiciels.
Marsh Posté le 24-11-2008 à 07:53:27
Bonjour,
skrs: ce serait gentil d'expliquer la solution de ton pb, non?
Par exemple: je n'avais pas désigné la bonne première colonne pour le vlookup,
ma variable choixjoueur n'est pas fiable,
j'ai utilisé une autre méthode plus rapide, avec laquelle je ne fais la recherche qu'une fois, .......
Cordialement
Marsh Posté le 24-11-2008 à 12:30:44
même remarque que seniorpapou (désolé de ne voir le msg que maintenant sinon... mais plutôt débordé de mon côté !)
Marsh Posté le 27-11-2008 à 01:42:09
Le problème c'est que le vlookup ne trouvait pas la valeur choixjoueur et que ma valeur de base choixjoueur n'était pas dans la premiere colonne. De plus il manquait l'arg : False à la fin de mes fonction de Vlookup. Désolé pour le délai de réponse c est les exams j'ai pas bcp de temps.
Marsh Posté le 27-11-2008 à 01:43:11
les fichiers à cette adresse fonctionnent :
http://skrs.free.fr/VBA/
Marsh Posté le 23-11-2008 à 16:39:31
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 :
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/
Bon même si de préférence il faudrait qu'il prenne pour I le premier client en ligne 2 jusqu'au dernier (en fonction du nombre d'ajout qu'il y a eu). Je reste juste là sans comprendre pourquoi ca ne marche pas mon Vlookup.
Merci d'avance à vous tous.