Bonjour à tous !
Cela fait 4h que je bloque alors je viens vers vous après de multiple essais je n'arrive pas a comprendre mon problème
Je cherche à trouve le nom sur plusieurs ligne sur la colonne A
Mon code :
Dim ligcherc As Range
Dim ligval as long
Set ligcherc = ActiveSheet.Range("A1:A5000").Find(What:="TEST2 TEST2", LookAt:=xlPart)
If Not ligcherc Is Nothing Then
ligval = ligcherc.Row
MsgBox ligval
End If
Mais cela donne rien, j'ai essayer de passer par l'enregistrement macro mais je ne comprend pas où je galère.
Cela marche si je met .cells au lieu du range
Mais voila mon code sur mon fichier principal :
Dim i As Integer
Dim ligcherc As Range
Dim ligAgent As Range
Dim ligCa As Range
Set wka = ThisWorkbook
Set wkb = Workbooks.Open(Application.ActiveWorkbook.Path & "\NomduFichier.xlsx", , True)
With wka.Sheets("BDD AGENTS")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(i, "E").Value = "IDE" Then
Set ligcherc = wkb.Sheets(1).Range("A1:A5000").Find(.Cells(i, "L").Value, LookAt:=xlPart)
If Not lighcherc Is Nothing Then
ligtrouve = ligcherc.Row 'Trouve la ligne du nom
'recherche seulement en dessous de celui ci le mot "CA"
Set ligCa = wkb.Sheets(1).Range("A" & ligtrouve & ":A5000").Find(What:="CA", LookAt:=xlPart)
If Not ligCa Is Nothing Then 'SI CA récupere la valeur de la derniere colonne de la ligne CA
ligCAtrouve = ligCa.Row
ligCAval = wkb.Sheets(1).Range(wkb.Sheets(1).Cells(ligCAtrouve, 1), wkb.Sheets(1).Cells(ligCAtrouve, wkb.Sheets(1).Cells(ligCAtrouve, Columns.Count).End(xlToLeft).Column)).Value
MsgBox ligCAval 'Test du code
End If
End If
End If
Next i
End with
Le but est de trouver le nom, malgré que d'autres choses soient présentes dans la ligne.
Je vous joins le fichier.
Merci pour l'aide et le temps pris pour m'aider.