Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then ' Arbitrairement limité à 100 lignes
Application.ScreenUpdating = False
If Target = "" Then Exit Sub ' si cellule vide on sort
Poste = Target ' récupération du poste cliqué
If MsgBox("Voulez vous vraiment masquer le poste " & Poste & Chr(10) & _
" de l'onglet TAB_1 ?", vbYesNo, "Demande de masquage") = vbYes Then ' Message de confirmation
Sheets("TAB_2").Cells(Target.Row, 1).EntireRow.Hidden = True ' on masque la ligne dans TAB_2
i = 3 ' indice de lecture dans TAB_1
While Sheets("TAB_1").Cells(i, 1) <> Poste ' tant que Poste cliqué non trouvé on boucle
i = i + 1
If i > 1000 Then Exit Sub ' on limite à 1000 lignes si Erreur
Wend
Sheets("TAB_1").Cells(i, 1).EntireRow.Hidden = True ' on masque la ligne où Poste est trouvé
i = i + 1
While Sheets("TAB_1").Cells(i, 1) = "" ' on boucle jusqu'à qu'un nouveau poste apparait
Sheets("TAB_1").Cells(i, 1).EntireRow.Hidden = True
i = i + 1
If i > 1000 Then Exit Sub ' Gestion Erreur
Wend
End If
End If
Fin:
End Sub