Salut Man et le forum,
M'ai trompat en lisant tes posts alors, désolé pour éviter tout mal entendu, colles ceci dans un module.
Option Explicit
Const NomF As String = "Etats" 'Nom de feuille ou on mets les résultats
Const Plage As String = "D1
65536" 'Plage où on recherche la valeur à trouvée
Sub Princ()
Dim WS As Worksheet, I As Byte, Val As String, L As Long, J As Integer
J = 10 'On met à partir de A10 donc 10 eme ligne
With ThisWorkbook
With Sheets(NomF)
If .[A1] = "" Then Exit Sub Else: Val = .[A1]
'Effacement de la plage A10 à G???
.Range("A" & J, "G" & .[D10].End(xlDown).Row).ClearContents
End With
For I = 3 To .Sheets.Count ' à adapter, ici on commence à la feuille en posisiton 3
With Sheets(I)
L = Rech(Val, .Range(Plage))
If L <> 0 Then
If .Range("F" & L) <> "" Or .Range("G" & L) <> "" Then
Sheets(NomF).Range("A" & J, "G" & J) = .Range("A" & L, "G" & L).Value
J = J + 1
End If
End If
End With
Next I
End With
End Sub
Private Function Rech(RechS As String, T As Variant) As Long
On Error Resume Next
Rech = Application.Match(RechS, T, 0)
If Err <> 0 Then Rech = 0
End Function
Si ce ne sont pas les résultats escomptés envoies moi ton fichier en BAL .
A+++