Vlookup "Error 1004"

Bonjour à tous, je viens vous demander de l'aide, je viens de faire une macro avec un Vlookup. Mais VBA me renvoie "Error 1004", et je ne comprends pas pourquoi, pourriez vous jeter un coup d'oeil, please?

Merci et bonne journée.

Gaetan

Sub Macro3()

    Range("A315:W315").Select
    With Selection.Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorLight1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    With Selection.Font
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
    End With
End Sub

Sub MacroArthur()

'Déclaration des Variables
Dim ws As Worksheet, ws_data As Worksheet
Dim i As Integer, j As Integer
Dim lastrowdata As Integer, lastrow As Integer
Dim li_PME As Integer, li_eurol As Integer, li_europsc As Integer, li_grd As Integer
Dim li_osool As Integer, li_sgeur As Integer, li_sogecm As Integer, li_sogecs As Integer
Dim Ret As Variant

'Affectation feuille
Set ws = ThisWorkbook.Worksheets("MVTS")
Set ws_data = ThisWorkbook.Worksheets("Mvts_data")

'Derniere ligne feuille data
lastrowdata = ws_data.Cells(ws_data.Rows.Count, "A").End(xlUp).Row

'Copie des cellules non vides de la feuille data dans la feuille MVTS
ws.Cells(6, 1).Resize(lastrowdata - 3, 1).Value = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Value

'Retrait des doublons des différents fonds.
ws.Range(ws.Cells(6, 1), ws.Cells(lastrowdata + 3, 1)).RemoveDuplicates Columns:=1, Header:=xlNo

'Retrait des noms des fonds
For i = 6 To lastrowdata + 3
    If ws.Cells(i, 1).Value = "AMUNDI ACTIONS PME" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "AMUNDI FDS EQ EUROLAND SMALL CAP" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "AMUNDI FDS EQ EUROPE SMALL CAP" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "GRD 12 ACTIONS" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "OSOOL EUROPE SMALL CAPS" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "SG ACTIONS EUROPE MIDCAP" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "SOGECAP ACTIONS MID CAP" Then ws.Cells(i, 1).Value = ""
    If ws.Cells(i, 1).Value = "SOGECAP ACTIONS SMALL CAP" Then ws.Cells(i, 1).Value = ""
Next i

'Derniere ligne feuille mvts
lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

'Suppression des lignes vides
For i = lastrow To 6 Step -1
    If ws.Cells(i, 1).Value = "" Then ws.Rows(i).EntireRow.Delete
Next i

'Récupération des données
li_PME = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("AMUNDI ACTIONS PME").Row
li_eurol = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("AMUNDI FDS EQ EUROLAND SMALL CAP").Row
li_europsc = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("AMUNDI FDS EQ EUROPE SMALL CAP").Row
li_grd = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("GRD 12 ACTIONS").Row
li_osool = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("OSOOL EUROPE SMALL CAPS").Row
li_sgeur = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("SG ACTIONS EUROPE MIDCAP").Row
li_sogecm = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("SOGECAP ACTIONS MID CAP").Row
li_sogecs = ws_data.Range(ws_data.Cells(3, 1), ws_data.Cells(lastrowdata, 1)).Find("SOGECAP ACTIONS SMALL CAP").Row

'Remplissage PME
For i = 6 To lastrow
Ret = Application.WorksheetFunction.VLookup(ws.Cells(i, 1), ws_data.Range(ws_data.Cells(li_PME + 1, 1), ws_data.Cells(li_eurol - 1, 1)), 2, False)
If Ret <> "" Then
    ws.Cells(i, 9) = Ret
End If

Next i

End Sub 
Rechercher des sujets similaires à "vlookup error 1004"