Option Explicit ' Oblige la déclaration des variables
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim DerLig As Long, C As Range, F1 As Worksheet, F2 As Worksheet ' Déclaration des variables
Set F1 = Feuil1 'Reconnait la feuille 1
Set F2 = Feuil2 'Reconnait la feuille 2
DerLig = F1.Range("B" & Rows.Count).End(xlUp).Row + 1 ' recherche la dernière cellule vide de la Col B
If Not Intersect(Target, F2.[L2:L100]) Is Nothing Then 'si la cellule active n'est pas compris entre L2 et L100 a adapter
Target = IIf(Target = "x", "", "x") 'met un x s'il n'y en a pas
Cancel = True ' Evite la curseur dans la cellule
If Target = "x" Then 'S'i y a un x dans la cellule active
With F1 ' avec la Feuille 1
.Range("B" & DerLig) = Target.Offset(, -1) 'met en Col B la cellule directement à gauche du x
.Range("D" & DerLig) = Target.Offset(, -11) 'met en Col D la 11 cellule à gauche du x
.Range("E" & DerLig) = Target.Offset(, -10) 'met en Col E la 10 cellule à gauche du x
.Range("F" & DerLig) = Target.Offset(, -9) 'met en Col F la 9 cellule à gauche du x
.Range("G" & DerLig) = Target.Offset(, -8) 'met en Col G la 8 cellule à gauche du x
End With
Else ' Sinon
Set C = F1.Cells.Find(What:=Target.Offset(, -1)) 'Recherche dans la feuille 1 la cellule directement à gauche de la cellule active (ou il y a un x)
If Not C Is Nothing Then C.EntireRow.Delete ' si la cellule n'est pas vide supprime la ligne entière
End If ' fin de la deuxième condition
End If ' fin de la première condition
End Sub