VBA : Problème avec Vlookup

kalek93

XLDnaute Nouveau
Bonjour,

J'ai 2 classeurs à "comparer".

Je dois comparer les colonnes A du fichier1 ("qui est le fichier cible") et du fichier2 ("qui est le fichier source).

Pour cela, je dois remplir la colonne C1 du fichier1 avec la colonne 2 du fichier2 quand A du fichier1 est identique à A du fichier 2.

Voici mon code

Code:
Set Fichier1 = ActiveWorkbook

Set Fichier2 = Workbooks.Open("C:\Fichiersource.xls")

Fichier2.Activate

Fichier2.Sheets("Feuil1").Columns("A:B").Name = "base"

Fichier1.Activate

[B]Range("C1").Value = Application.WorksheetFunction.VLookup(Range("A1").Value, Fichier2.Range("base"), 2, False)[/B]

Fichier2.Close savechange = False
Set Fichier2 = Nothing

A l'éxecution j'ai une erreur d'execution '438', propriété ou méthode non gérée par cet objet.

Pourriez-vous m'aider à corriger mon code svp? Je pense que le problème vient uniquement de la ligne en gras. ;)

Merci d'avance,
JP
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA : Problème avec Vlookup

Bonjour Kalek, bonjour le forum,

Essaie comme ça :
Code:
Dim base As Range


Set Fichier1 = ActiveWorkbook
Set Fichier2 = Workbooks.Open("C:\Fichiersource.xls")
Set base = Fichier2.Sheets("Feuil1").Columns("A:B")
Fichier1.Activate
Range("C1").Value = Application.WorksheetFunction.VLookup(Range("A1").Value, base, 2, False)
Fichier2.Close savechange = False
Set Fichier2 = Nothing
ou comme ça :
Code:
Dim vr As Variant
Dim base As Range
Dim r As Range


vr = Range("A1").Value
Set Fichier1 = ActiveWorkbook
Set Fichier2 = Workbooks.Open("C:\Fichiersource.xls")
Set base = Fichier2.Sheets("Feuil1").Columns("A:A")
Set r = base.Find(vr, , xlValues, xlWhole)
Fichier1.Activate
If Not r Is Nothing Then Range("C1").Value = r.Offset(0, 1)
Fichier2.Close savechange = False
Set Fichier2 = Nothing
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed