Formule Vlookup avec Classeur en variable
Bonjour à tous,
Je souhaite réaliser une Macro VBA utilisant des formules de type Vlookup (ou RechercheV pour les versions françaises) en utlisant comme plages de recherche des Classeurs et feuilles variables préalablement définis dans mon code.
J'ai un classeur A dans lequel j'écris ma formule Vlookup recherchant pour une cellule du classeur A une valeur du classeur "Mapping" (cette partie fonctionne), qui elle va renvoyer une donnée du classeur B (défini comme variable M2 dans ma macro) comprise dans la feuille B (définie comme W2 dans ma macro).
Cependant, à chaque fois que je lance la macro, Excel lance automatiquement "ouvrir fichier" afin que je redéfinisse ma variable M2 et ma feuille W2 alors que celles-ci sont déjà définies dans le code. De plus, le Vlookup ne renvoit rien.
Le code sera peut-être plus parlant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Option Explicit
Dim W2 As Worksheet
Dim M2 As Workbook
Sub OpenMW()
Application.Dialogs(xlDialogOpen).Show ---------> je définis mon fichier B et feuille B en tant que variables M2 et W2
Set M2 = ActiveWorkbook
Set W2 = ActiveSheet
End Sub
Sub Calculs
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(VLOOKUP(RC[-1],'[Mapping.xlsx]Sheet1'!R5C2:R136C3,2,FALSE)&1,'[M2]W2'!C3:C8,4,FALSE)),"""",VLOOKUP(VLOOKUP(RC[-1],'[Mapping.xlsx]Sheet1'!R5C2:R136C3,2,FALSE)&1,'[M2]W2'!C3:C8,4,FALSE))"
End Sub |
Savez-vous ce qui cloche?
Merci