Mon VBA n'est pas très orthodoxe mais il fonctionne dans la plupart des cas. J'ai pour habitude de faire référence à mes cellules Excel en les nommant "cells(lig,col)" ce qui est bien pratique pour les faire évoluer.
Lorsque je fait appel à VLOOKUP dans une même feuille cela donne ce qui suit :
A B C D E
1 1 9 1 9
2 2 8
3 3 7
En A1, j'ai le critère et en B1, le résultat de la recherche
D1 à E3 est la matrice
'Sur la même feuille
Range("B1") = Application.VLookup(Range("A1"), Range("D1:E3"), 2, False) 'OK
Cells(1, 2) = Application.VLookup(Cells(1, 1), Range(Cells(1, 4), Cells(3, 5)), 2, False) 'OK
Si la matrice se trouve sur la feuille 2 exactement à la même place, cela ne fonctionne pas à tous les coups.
'Sur 2 feuilles différentes
Range("B1") = Application.VLookup(Range("A1"), Sheets("Feuil2").Range("D1:E3"), 2, False) 'OK
Cells(1, 2) = Application.VLookup(Cells(1, 1), Sheets("Feuil2").Range("D1:E3"), 2, False) 'OK
Cells(1, 2) = Application.VLookup(Cells(1, 1), Sheets("Feuil2").Range(Cells(1, 4), Cells(3, 5)), 2, False) 'erreur 1004
Cells(1, 2) = Application.VLookup(Cells(1, 1), Plage_recherche, 2, False) 'erreur 2042
'Plage_recherche =Feuil2!$D$1:$E$3
Pour contourner la difficulté, j'ai nommé la matrice "Plage-recherche" et cela ne fonctionne toujours pas.
POURQUOI ????
Comment faire pour que l'appellation "cells(lig,col)" fonctionne sur 2 feuilles différentes, sur 2 classeurs différents.
Merci pour votre réponse.
Lorsque je fait appel à VLOOKUP dans une même feuille cela donne ce qui suit :
A B C D E
1 1 9 1 9
2 2 8
3 3 7
En A1, j'ai le critère et en B1, le résultat de la recherche
D1 à E3 est la matrice
'Sur la même feuille
Range("B1") = Application.VLookup(Range("A1"), Range("D1:E3"), 2, False) 'OK
Cells(1, 2) = Application.VLookup(Cells(1, 1), Range(Cells(1, 4), Cells(3, 5)), 2, False) 'OK
Si la matrice se trouve sur la feuille 2 exactement à la même place, cela ne fonctionne pas à tous les coups.
'Sur 2 feuilles différentes
Range("B1") = Application.VLookup(Range("A1"), Sheets("Feuil2").Range("D1:E3"), 2, False) 'OK
Cells(1, 2) = Application.VLookup(Cells(1, 1), Sheets("Feuil2").Range("D1:E3"), 2, False) 'OK
Cells(1, 2) = Application.VLookup(Cells(1, 1), Sheets("Feuil2").Range(Cells(1, 4), Cells(3, 5)), 2, False) 'erreur 1004
Cells(1, 2) = Application.VLookup(Cells(1, 1), Plage_recherche, 2, False) 'erreur 2042
'Plage_recherche =Feuil2!$D$1:$E$3
Pour contourner la difficulté, j'ai nommé la matrice "Plage-recherche" et cela ne fonctionne toujours pas.
POURQUOI ????
Comment faire pour que l'appellation "cells(lig,col)" fonctionne sur 2 feuilles différentes, sur 2 classeurs différents.
Merci pour votre réponse.