Bonjour
Dur de se comprendre
Donc tu veux que dans tous les cas, placer un X dans la colonne A insère une ligne
Alors il faut mettre en remarque (ou la supprimer) la ligne qui teste si la ligne de dessous est vide
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Ligne As Long
If Target.Count > 1 Or Target.Cells(1, 1) = "" Then Exit Sub
' Si un X dans la colonne 1
If Target.Column = 1 And UCase(Target) = "X" Then
' Vérifie que la ligne de dessous est vide
'If Application.CountA(Rows(Target.Row + 1)) > 0 Then Exit Sub
Ligne = Target.Row
Rows(Ligne).Copy ' Copie de la ligne
Rows(Ligne + 1).Insert ' Insertion avec la ligne copiée
' On la débarrase des constantes
On Error Resume Next
Rows(Ligne + 1).SpecialCells(xlCellTypeConstants, 23).ClearContents
On Error GoTo 0
End If
End Sub