Option Explicit
Const Nocolor = 16777215, OrangeColor = 49407
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Range("Tableau1").Rows.Count > 1 Then
If Not Intersect(Target(1, 1), Range("Tableau1").Offset(1).Resize(Range("Tableau1").Rows.Count - 1)) Is Nothing Then
Cancel = True
With Range(Cells(Target(1, 1).Row, Range("Tableau1").Column), _
Cells(Target(1, 1).Row, Range("Tableau1").Column + Range("Tableau1").Columns.Count - 1)).Interior
If .Color = OrangeColor Then .Color = Nocolor Else .Color = OrangeColor
End With
End If
End If
If Range("Tableau2").Rows.Count > 1 Then
If Not Intersect(Target(1, 1), Range("Tableau2").Offset(1).Resize(Range("Tableau2").Rows.Count - 1)) Is Nothing Then
Cancel = True
With Range(Cells(Target(1, 1).Row, Range("Tableau2").Column), _
Cells(Target(1, 1).Row, Range("Tableau2").Column + Range("Tableau2").Columns.Count - 1)).Interior
If .Color = OrangeColor Then .Color = Nocolor Else .Color = OrangeColor
End With
End If
End If
End Sub
Sub SupprimeLignes(xTableau As String)
Dim i As Long, Debut As Long, Fin As Long, PremCol As Long, NbrCol As Long
Debut = Range(xTableau).Row + 1
Fin = Range(xTableau).Row + Range(xTableau).Rows.Count - 1
PremCol = Range(xTableau).Column
NbrCol = Range(xTableau).Columns.Count
For i = Fin To Debut Step -1
If Cells(i, PremCol).Interior.Color = OrangeColor Then
Cells(i, PremCol).Resize(, NbrCol).Delete Shift:=xlUp
End If
Next i
End Sub
Sub Delete1()
SupprimeLignes "Tableau1"
End Sub
Sub Delete2()
SupprimeLignes "Tableau2"
End Sub