Maintenant que je prends la peine de lire ton code
![;) ;)]()
Quelle horreur !
Je déteste les SELECTs. (Tu n'as qu'à chercher zeb+vba+select/selection dans google pour t'amuser.
![:D :D]()
) Puisque tu utilises plusieurs classeurs, nomme-les explicitement.
Ne pas mettre de parenthèses pour entourer un paramètre de procédure (ligne 7)
UTILISER L'OPTION EXPLICIT.
Une grande partie de tes problèmes disparaîtra. (l'erreur de la ligne 15, notamment).
Le deuxième paramètre de VLookup est un Range. Toi tu y a mis... une variable non initialisée
Dim wb_abc As Workbook
Set wb_abc = Workbooks.Open("J:\répertoire\excel_abc.xls" )
wb_abc.Sheets("2008").Columns("A:G").Name = "base"
Cells(i, 15) = WorksheetFunction.VLookup(Cells(i, 1), wb_abc.Range("Base"), 7, False)
wb_abc.Close SaveChange=False
Set wb_abc = Nothing
Autre façon de faire :
Dim wb_abc As Workbook
Set wb_abc = Workbooks.Open("J:\répertoire\excel_abc.xls" )
Cells(i, 15) = WorksheetFunction.VLookup(Cells(i, 1), wb_abc.Range("A:G"), 7, False)
wb_abc.Close SaveChange=False
Set wb_abc = Nothing