Bonjour à tous,

Je souhaite faire un comparatif entre deux fichiers de versions différentes où figurent des lignes de commandes (le fichier ouvert V1.2, sur lequel est présent le bout de macro ci-dessous, et l'autre à aller chercher, V1.1 dans mon exemple) .
Grâce à l'enregistreur de macro, j'ai pu trouver la "traduction" VBA de la fonction RECHERCHEV, en mode "R1C1" mais j'aimerais la rendre un peu plus dynamique, et donner le choix à l'utilisateur d'aller chercher lui-même le fichier qu'il veut comparer (qui contient par défaut la feuille k€, cela peut rester fixe).

Pour cela je compte calculer la première valeur puis utiliser la méthode Autofill afin de remplir les n lignes de commandes non vides.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
'RECHERCHEV des commandes présentes dans la version précédente
Range("A9").Select
ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(k€!R[-5]C[4],'Chemin\...\[Fichier_V1.1]k€'!C5,1,FALSE)"
    Selection.AutoFill Destination:=Range(Cells(9, 1), Cells(der_lig, 1))



Cette méthode marche parfaitement quand le chemin et donc le nom du classeur (Fichier_V1.1) est fixe, mais ce que je souhaiterais c'est rendre dynamique le chemin d'accès et la prise en compte dans VLOOKUP.

J'avais pensé à dimensionner un fichier "previous", que l'utilisateur sélectionnerait, puis intégrer le nouvel objet "previous" dans la VLOOKUP (l'onglet k€ ne bouge pas, k€ existe dans toutes les versions du fichier)

Mais c'est là que le bât blesse, j'ai essayé ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Dim previous
  previous = Application.GetOpenFilename(, , "Sélectionnez votre source de données")
 
'RECHERCHEV des commandes présentes dans la version précédente
   Range("A9").Select
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(k€!R[-5]C[4],'Chemin\...\[previous]k€'!C5,1,FALSE)"
    Selection.AutoFill Destination:=Range(Cells(9, 1), Cells(der_lig, 1))

Cela ne marche pas ...

Alors ma question est assez simple : comment faire prendre en compte à VLOOKUP le fichier générique "previous" ?

D'avance, merci !