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 : 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 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
Partager