Private MemoVal, BoolDépl As Boolean, MemoSel
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Dim c As Range, LignMasquée()
Application.ScreenUpdating = False
ReDim LignMasquée(1 To ActiveSheet.UsedRange.Rows.Count)
For t = 1 To UBound(LignMasquée)
LignMasquée(t) = IIf(Cells(t, 1).EntireRow.Hidden, True, False)
Next t
Rows.Hidden = False
If (Target.Row - 24) Mod 11 < 2 Then
Set c = Range("B" & Target.Row & ":B" & Target.Row + 11).Find(what:=MemoSel, LookIn:=xlValues, lookat:=xlWhole)
If Target = "" Then
If Not c Is Nothing Then
MemoVal = Target.Offset(c.Row - Target.Row, 0).Value
Target.Offset(c.Row - Target.Row, 0) = ""
BoolDépl = True
End If
Else
If Not c Is Nothing Then
If BoolDépl = True Then
Target.Offset(c.Row - Target.Row, 0) = MemoVal
BoolDépl = False
End If
End If
End If
End If
For t = 1 To UBound(LignMasquée)
If LignMasquée(t) = True Then Cells(t, 1).EntireRow.Hidden = True
Next t
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MemoSel = Target.Value
End Sub