Bonjour,
1. Dans votre feuille Sheet6, remplacez tout le code par celui-ci dessous
Dim stpevt As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If stpevt = True Or Target.Count > 1 Then Exit Sub
If Not Intersect(Target, ListObjects("Table1").ListColumns(9).DataBodyRange) Is Nothing Then
If Target.Value = "Non" Then
stpevt = True
Rows(Target.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
End If
stpevt = False
End Sub
2. - supprimer une ligne si vide sous un statut "clôturé", en évitant la perte des formules existantes qui sont dépendantes des lignes du dessus ... : avec un bouton de commande c'est bien, en automatique aussi c'est bien
Je n'ai pas saisi ce que vous voulez faire.
Par contre une chose importante vu que que vous avez mis votre tableau au format tableau structuré il ne doit pas comporter de lignes vides.
Un tableau structuré doit toujours être limité au nombre de lignes renseignées. Lorsque vous ajoutez une nouvelle ligne, faites le toujours en dessous de la dernière ligne complétée, le tableau reprendra automatiquement le format et les formules que vous y avez placés
Du coup je pense que votre demande ne sert plus.
3. Dans E2, je pense qu'il y a un souci avec le résulat de votre formule. Toutefois remplacez-la par celle ci-dessous --> =SI($I2="";"";SI(NB.SI([[Reprise ]];"Oui");"Clôturé";"En cours"))
Ensuite tirez la formule vers le bas jusqu'à la dernière ligne complétée. (N'oubliez pas que pas de lignes vides dans un tableau structuré !)
NB : je pense que votre formule devrait plutot être celle-ci --> =SI($I2="";"";SI([@[Reprise ]]="Oui";"Clôturé";"En cours"))
4.- à l'aide d'un bouton de commande, masquer / démasquer les lignes en statut "clôturé"
Mettez ces deux codes (masque et Afficher) dans un module et associez-les à deux boutons
Sub masquer()
With Sheets("sheet6")
.ListObjects("Table1").Range.AutoFilter Field:=5, Criteria1:="<>Clôturé"
End With
End Sub
Sub afficher()
With Sheets("sheet6")
.ListObjects("Table1").Range.AutoFilter Field:=5
End With
End Sub
si ok -->
Cordialement