julien1025
XLDnaute Nouveau
Bonjour tous le monde,
Je suis débutant en VBA et j'ai un problème avec mon code.
J'ai un problème avec la fonction Vlookup en VBA.
Je n'arrive pas à trouver pourquoi ça ne marche pas.
Je vous mets le code ainsi que les deux fichiers en pièce jointes.
	
	
	
	
	
		
Je n'arrive pas à voir pourquoi ça ne marche pas.
Quand je fait débogage, l'erreur se trouve se la ligne:
Resultat = Application.VLookup(Rech.Cells(4, 2).Value, Workbooks("C:\Users\mto\Desktop\Suivi_Mc_FIL.xls").Sheets("2015").Range("C6:J500"), 1, False)
(Ce n'est qu'un exemple car il va me falloir lire dans 3 fichiers en tout mais si dans un ça marche, ça devrait marcher pour les 3 après)
Merci d'avance pour votre aide
	
		
			
		
		
	
				
			Je suis débutant en VBA et j'ai un problème avec mon code.
J'ai un problème avec la fonction Vlookup en VBA.
Je n'arrive pas à trouver pourquoi ça ne marche pas.
Je vous mets le code ainsi que les deux fichiers en pièce jointes.
		VB:
	
	
	Private Sub CommandButton1_Click()
Dim Bd As Worksheet
Dim Rech As Worksheet
Dim NbLig As Long
Dim NbCol As Long
Dim Derlign As Integer
Set Bd = ThisWorkbook.Sheets("Gamme")
Set Rech = ThisWorkbook.Sheets("Suivi")
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim m As Integer
Dim l As Integer
Dim Resultat As Variant
j = 1
With Bd
NbLig = .Cells(.Rows.Count, 1).End(xlUp).Row
NbCol = .Cells(1, .Columns.Count).End(xlToRight).Column
End With
For i = 2 To NbLig
If Suivi_gamme.ComboBox1.Value = Bd.Cells(i, 1).Value Then
    If Suivi_gamme.ComboBox2.Value = Bd.Cells(i, 2).Value Then
        If Suivi_gamme.ComboBox3.Value = Bd.Cells(i, 3).Value Then
        For k = 4 To NbCol
            If Bd.Cells(i, k).Text Like "Fil" Or Bd.Cells(i, k).Text Like "V22" Or Bd.Cells(i, k).Text Like "Drill 20" Or Bd.Cells(i, k).Text Like "Sodick" Then
                If Bd.Cells(i, k + 1).Value = Bd.Cells(i, k).Value Then
                
                Else
                Rech.Cells(j + 8, 1).Value = Bd.Cells(1, k).Value
                Bd.Cells(i, k).Copy
                Rech.Cells(j + 8, 2).PasteSpecial xlPasteValuesAndNumberFormats
                j = j + 1
                End If
            End If
        Next k
        End If
     End If
End If
Next i
For l = 9 To 23
Rech.Range("C" & l).Interior.ColorIndex = xlColorIndexNone
Next l
For l = 9 To 23
If Rech.Cells(l, 2).Text Like "Fil" Or Rech.Cells(l, 2).Text Like "Drill 20" Then
   Resultat = Application.VLookup(Rech.Cells(4, 2).Value, Workbooks("C:\Users\mto\Desktop\Suivi_Mc_FIL.xlsx").Sheets("2015").Range("C6:J500"), 1, False)
 If IsError(Resultat) Then
    Rech.Range("C" & l).Interior.ColorIndex = 10
    Else
    Rech.Range("C" & l).Interior.ColorIndex = 3
    End If
End If
Next l
       
Unload Me
End Sub
	Je n'arrive pas à voir pourquoi ça ne marche pas.
Quand je fait débogage, l'erreur se trouve se la ligne:
Resultat = Application.VLookup(Rech.Cells(4, 2).Value, Workbooks("C:\Users\mto\Desktop\Suivi_Mc_FIL.xls").Sheets("2015").Range("C6:J500"), 1, False)
(Ce n'est qu'un exemple car il va me falloir lire dans 3 fichiers en tout mais si dans un ça marche, ça devrait marcher pour les 3 après)
Merci d'avance pour votre aide