Vlookup dans autre classeur que thisworkbook
Bonsoir
Je vous expose mon probleme
Je possede un fichier numero 1 avec en colonne A le nom de personnes, En B le secteur dans lequels elles se trouvent, et en colonne C le temps attribué par le chef pour leur secteur,
Je possede un fichier numero 2 avec en colonne A le secteur et en colonne B le temps attribué au secteur
Mon besoin est simple : remplir la colonne C de mon fichier 1 grace a la recherche des items des colonnes A de mon fichier 1 sur le range A:B de mon fichier 2 qui ( est ouvert pendant le recherche v )
Ma macro situe dans le fichier numero 1 est simple :
en brouillon cela donne :
en cellule A100 du fichier 1 se trouve le chemin complet du fichier 2
J ouvre le fichier 2 avec workbokks open
de ligne 2 jusqua derniere ligne vide de mon fichier numero 1
classeur1 . feuille 1. cellule (C & ligne ).value = vlookup(classeur1 . feuille 1. cellule (B & ligne ).value , classeur2.feuille1.range(A:B),2, faux)
next ligne
je referme avec workboks close
sauf que erreur 9 a chaque fois et que pourtant tout est ok apres verification avec l espion
voila la vrai macro :
Sub majcapafai()
Application.ScreenUpdating = False
'ouverture fichier abaque capa
Workbooks.Open Filename:=ThisWorkbook.Sheets("DATABASE").Range("AA4").Value, Password:="fai"
'derniere ligne abaque
Dim lastlineabaque As Integer
lastlineabaque = Workbooks(Dir(ThisWorkbook.Sheets("DATABASE").Range("AA4").Value)).Sheets("CAPA").Range("A" & Rows.Count).End(xlUp).Row
lastlineabaque = lastlineabaque - 1
'derniere ligne workflow
Dim lastlinewkf As Integer
lastlinewkf = ThisWorkbook.Sheets("DATABASE").Range("A" & Rows.Count).End(xlUp).Row
'pour chaque ligne du workflow
For i = 3 To lastlinewkf
'identifier code operateur de la fai concernee
Dim sect As String
sect = ThisWorkbook.Sheets("DATABASE").Range("X" & i).Value
'chercher ou se trouve ce code op dans l abaque
'une fois trouvee mettre la temps correspondnat dans la comonne N de la fai concernee
ThisWorkbook.Sheets("DATABASE").Range("Z" & i).Value = Application.WorksheetFunction.VLookup(ThisWorkbook.Sheets("DATABASE").Range("X" & i).Value, Workbooks(ThisWorkbook.Sheets("DATABASE").Range("AA4").Value).Worksheets("CAPA").Range("A:D"), 4, False)
Next i
'fermeture du fichier abaque charge
Workbooks(Dir(ThisWorkbook.Sheets("DATABASE").Range("AA4").Value)).Close (0)
Application.ScreenUpdating = True
End Sub
Auriez vous une idee du pourquoi cela ne fonctionne t il pas ?
Je vopus remercie d' avance .
Bonne soiree
Bonsoir
J ai surement mal expose mon probleme
Je m en excuse
Pour faire simple je souhaite juste le moyen de faire un vlookup sur un classeur 2 ouvert a partir dun classeur 1 ( car la macro se trouve dans le classeur 1 )
Merci d avance