j'ai finalement compris mon erreur, je ne spécifiais pas de feuille, alors la mauvaise feuille était traité.
If masque = False Then
masque = True
limit1 = Sheets("ASS1").Range("I" & 10000).End(xlUp).Row
For i = 3 To limit1
If Sheets("ASS1").Cells(i, "i").Interior.ColorIndex = 22 Or Sheets("ASS1").Cells(i, "i").Interior.ColorIndex = 15 Then
Sheets("ASS1").Rows(i).Hidden = True
End If
Next i
Else
masque = False
limit1 = Sheets("ASS1").Range("I" & 10000).End(xlUp).Row
For i = 3 To limit1
If Sheets("ASS1").Rows(i).Hidden = True Then
Sheets("ASS1").Rows(i).Hidden = False
End If
Next i
End If