Bonjour Marie1608 et bienvenue
Le mieux lorsque vous posez une question de ce type et comme il n'y a pas d'informations confidentielles, est de partager votre fichier avec le code
Ensuite lorsque vous souhaitez mettre du code, il faut utiliser le bouton dédié à ça
Sinon voici une méthode bien plus rapide, en utilisant les filtres
La variable "Recherche" doit être définit en Integer puisque GS contient des nombres
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow As Long, Recherche As Integer
' Si pas de saisi en C9 on sort
If Target.Address <> "$C$9" Then Exit Sub
'
With ActiveSheet
' Valeur cherchée
Recherche = .Range("C9").Value
' Dernière ligne
LastRow = .Cells(Rows.Count, "B").End(xlUp).Row
' Si aucune valeur saisie on affiche tout
If Recherche = 0 Then
On Error Resume Next: .ShowAllData: On Error GoTo 0
Exit Sub
End If
' Sinon on filtre les lignes
If .AutoFilterMode = False Then
.Range("A12:AF" & LastRow).AutoFilter
End If
.Range("$A$12:$AF$" & LastRow).AutoFilter Field:=1, Criteria1:=Recherche
End With
End Sub
A+