Option Explicit
Option Compare Text 'Pour les noms de gestionnaire en B3
Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Derlig&, Ws As Worksheet, GestProjet$
If Not Application.Intersect(Target, Range("b3")) Is Nothing Then
With Worksheets("Recap")
GestProjet = .[B3]
Derlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("B7:E" & Derlig) = ""
For Each Ws In Worksheets
Ws.Visible = True
If Ws.Name <> "Recap" Then
If Ws.[b1] = GestProjet Then
Derlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("B" & Derlig) = Ws.Name
.Range("d" & Derlig) = Ws.[G1]
.Range("e" & Derlig) = Ws.[b1]
Else
If GestProjet = "" Then
Derlig = .Range("B" & Rows.Count).End(xlUp).Row + 1
.Range("B" & Derlig) = Ws.Name
.Range("d" & Derlig) = Ws.[G1]
.Range("e" & Derlig) = Ws.[b1]
Else
Ws.Visible = xlVeryHidden
End If
End If
End If
Next
End With
End If
End Sub