Problème avec la fonction Vlookup en VBA: erreur execution 9

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.



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
 

Pièces jointes

  • Suivi_Mc_FIL.xlsx
    13.1 KB · Affichages: 27
  • Pour test.xlsm
    43 KB · Affichages: 31
  • Pour test.xlsm
    43 KB · Affichages: 32
  • Pour test.xlsm
    43 KB · Affichages: 34

JCGL

XLDnaute Barbatruc
Re : Problème avec la fonction Vlookup en VBA: erreur execution 9

Bonjour à tous,

Bienvenue sur XLD

Peux-tu essayer :

Workbooks("C:\Users\mto\Desktop\Suivi_Mc_FIL.xlsx") .Sheets("2015").Range("C6:J500"), 1, False)

A+ à tous
 

julien1025

XLDnaute Nouveau
Re : Problème avec la fonction Vlookup en VBA: erreur execution 9

Bonjour JCGL,

Merci de ta réponse, mais j'ai réussi à résoudre ce problème. Il me manquait un peu de code.
Cependant, maintenant j'ai un autre problème, je ne sais pas si tu pourra m'aider.
En effet, j'ai mon fichier avec mon formulaire dans lequel je viens renseigner le numéro de dossier voulu, la référence et le nom de la pièce et quand je clique sur le bouton suivi ça m'affiche la gamme e ça doit aller chercher dans un autre classeur si il trouve le numéro de dossier, la référence et le nom de la pièce. Et si c'est le cas, la cellule se remplis selon une couleur sinon selon une autre.
Cependant, dans mon fichier dans lequel je viens lie, il y a des fois plusieurs fois le numéro de dossier et la référence de renseigner mais pas le nom de la pièce. Ainsi quand je cherche un autre nom de pièce, ça ne me le trouve pas car la fonction Vlookup s'arrete à la premiere ligne trouvée
Cependant, je ne vois pas comment faire pour que la fonction recherche tous les nom de pièce avec le numero de dossier et la référence voulue et les comparer avec le nom de la pièce voulue.

Je mets en pièce jointe mes deux fichiers.

Merci d'avance de votre aide.
 

Pièces jointes

  • Pour test.xlsm
    42 KB · Affichages: 27
  • Suivi_Mc_FIL2.xlsx
    13.9 KB · Affichages: 20
  • Pour test.xlsm
    42 KB · Affichages: 35
  • Pour test.xlsm
    42 KB · Affichages: 38

Discussions similaires

Réponses
6
Affichages
235

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16