Bonjour Khawla, bonjour le forum,
Petit erreur (sans conséquence) dans la déclaration des variables. On peut déclarer plusieurs variables sur une même ligne mais il faut en spécifier le type de chacune. Sinon elle prend le type Variant par défaut, gourmand en mémoire
Dim F1, F2 As Worksheet
Pas glop, pas glop !
Dim F1 As WorkSheet, F2 As Worksheet
Glop, Glop !
J'aurais écrit le code plutôt comme ça :
Sub VLookup()
Dim sRes As String
Dim F1 As Worksheet
Dim F2 As Worksheet
Dim O As Worksheet
Dim LastLig1 As Long
Dim plage As Range
Dim C As Range
Dim i As Integer
Dim rs As String
Dim Resultat As Range
Set F1 = Worksheets("fichier existant")
Set F2 = Worksheets("fichier importé")
Set O = Worksheets(2)
Set plage = O.Range("G1", O.Range("G65536").End(xlUp))
plage.Select
'LastLig1 = F2.Cells(Rows.Count, "A").End(xlUp).Row
'For ligne = 2 To LastLig1
i = 1
For Each C In plage
i = i + 1
rs = F2.Cells(i, "G").Value
F2.Cells(i, "Z").Value = Application.VLookup("rs", F1.Range("G:G"), 2, False)
Debug.Print rs
If IsError(F2.Cells(i, "Z").Value) Then
F2.Cells(i, "Z").Value = old
Else
F2.Cells(i, "Z").Value = Nouveau
End If
Next C
'Debug.Print rs
End Sub