Fonction recherchev vba erreur indice - VB/VBA/VBS - Programmation
Marsh Posté le 09-11-2018 à 15:12:35
Petit up personne ne voit le problème d'indice dans ma fonction svp ?
Marsh Posté le 09-11-2018 à 18:11:38
Bonjour,
Je ne comprends pas ce passage :
Code :
|
D'où sort le Feuil4 ? C'est une variable ?
De même qu'est-ce que le Sheets("C21" ) ? Parce que pour moi, là tu essayes de travailler sur une feuille qui s'appelle C21 et je ne vois alors pas à quoi correspond la propriété Value dans ce cas de figure.
Marsh Posté le 12-11-2018 à 16:44:44
MaybeEijOrNot a écrit : Bonjour,
|
Merci MaybeEijOrNot d'avoir répondu, désolé je n'avais pas de connexion internet pendant le week end pour te répondre.
Pour moi Feuil4 signifie la feuille dans laquelle je veux avoir ma réponse à la recherchev.
Dans ma compréhension je pensais que le premier critère soit sheets("C21" ).value était la valeur recherché. Car dans ma"feuil4" dans la cellule C21 c'est la que j'ai mon critère.
Si cela peu aider.
Merci bien en tout cas d'avoir pris le temps de répondre
Marsh Posté le 12-11-2018 à 19:07:37
Pour "Feuil4" je ne savais pas qu'on pouvait faire ça comme ça, personnellement j'éviterai. Mieux vaut rester sur la syntaxe classique :
Code :
|
Le premier critère est surement la valeur recherché (à vérifier) mais ce que je ne comprends pas c'est le Sheets("C21" ) qui signifie la feuille nommée "C21" et non la cellule C21.
Marsh Posté le 12-11-2018 à 19:08:18
ulrig a écrit : |
En me faisant par que Sheets("C21" ) n'était pas bon j'ai réussi à faire sortir mon premier critère voulu en modifiant comme ceci :
Code :
|
Donc maintenant j'avais à faire exécuter mon premier critère de la formule vlookup en regardant mon espion. Sauf que la je bloque sur ma partie :
Code :
|
Pour moi WBK correspond au fichier que la macro va ouvrir pour aller chercher les données colonnes pour la recherchev soit :
Set WBK = XL.Workbooks.Open(folderPath & "\" & fichier) |
Je pense que je dois avoir faire une erreur de syntaxe sur ma 2e partir de formule mais je ne vois pas laquelle. J'ai le message suivant : Impossible de lire la propriété VLookup de la classe WorksheetFunction.
Merci
Marsh Posté le 12-11-2018 à 19:20:01
Normalement, si tu as bien un classeur qui s'ouvre c'est que ça doit être bon au niveau de la syntaxe.
Essaye en remplaçant :
Code :
|
Par une plage se trouvant dans le même classeur (tu n'as qu'à importer ta feuille dans ton premier classeur le temps de faire le test) car je ne sais pas si tu peux aller chercher dans un autre classeur comme ça. Si le problème vient de là alors il faudra ruser mais j'ai déjà une idée simple en tête.
Marsh Posté le 12-11-2018 à 19:45:26
MaybeEijOrNot a écrit : Normalement, si tu as bien un classeur qui s'ouvre c'est que ça doit être bon au niveau de la syntaxe.
|
Encore merci MaybeEijOrNot.
Je viens d'importer ma feuille "Cédule" dans le fichier ou se trouve la macro. et j'ai changé la formule pour cela :
Code :
|
Pour moi j'avais juste à enlever le WBK.
Mais quand je lance la macro j'ai toujours une erreur d'exécution '1004' : Impossible de lire la propriété VLookup de la classe WorksheetFunction.
Et le débogage me renvoi toujours sur la même ligne que dessus.
Marsh Posté le 12-11-2018 à 20:56:02
Peux-tu faire un nouveau classeur et mettre cette macro :
Code :
|
Dans "Feuil1" du classeur tu tapes de 1 à 5 dans les cellules allant de A1 à A5.
Tu ajoutes une nouvelle feuille (automatiquement nommée "Feuil2" normalement).
Tu tapes 3 en A1 dans cette nouvelle feuille, tu lances la macro.
Tu obtiens 3 dans la cellule A2 de la Feuil2 ou une erreur ?
Marsh Posté le 12-11-2018 à 21:14:43
MaybeEijOrNot a écrit : Peux-tu faire un nouveau classeur et mettre cette macro :
|
Je viens de le faire et j'obtiens 3 dans la cellule B1 de la Feuil 2
Marsh Posté le 12-11-2018 à 21:35:13
Par rapport à mon problème je viens de recréer un fichier excel avec juste mon onglet Webadi 2.
La macro a fonctionné. Je n'ai rien changé d'autres que ce que tu m'as fais corrigé. Sauf que la macro après avoir passer une trentaine de fichier se met en erreur
"une erreur d'exécution '1004' : Impossible de lire la propriété VLookup de la classe WorksheetFunction. "
Je ne comprend pas du tout pourquoi alors que le fichier suivant à la même trame.
Marsh Posté le 12-11-2018 à 21:54:15
Et en essayant manuellement la fonction dans Excel avec le fichier pour lequel ça se met à déconner ça donne quoi ?
Marsh Posté le 13-11-2018 à 20:32:40
Allo Maybe,
Je viens d'essayer et cela fonctionne. Je pense que j'ai compris d'où vient le problème. Il y a un fichier sur le réseau qui s'appel pareil sauf que c'est une v2 et on dirait qu'il ne veut pas fonctionner car je prend un critère dedans qui à le même nom. Je vais insérer une formule avec si erreur continue.
Merci en tout cas pour l'instant je peux continuer mais tu m'as bien aider sur ma formule vlookup
Marsh Posté le 06-11-2018 à 21:17:45
Bonjour à tous,
Je suis un novice en vba mais j'essaye de faire au mieux dans mes macros. Je me suis beaucoup aider de ce forum mais la je bloque sur ma fonction qui me dit qu'il n'y a pas d'indice.
Est-ce que quelqu'un pourrait m'aider svp ? Merci
Mon erreur est sur cette ligne :
.Range("P" & destinationRow1).Value = Application.WorksheetFunction.VLookup(Sheets("C21" ).Value, WBK.Sheets("Cédule" ).Range("A20:L330" ), 8, False)
Ci-dessous la fonction :
Merci.
Message édité par ulrig le 07-11-2018 à 14:49:07