Bonjour le fil, bonjour le forum,
Une autre solution avec les deux événementielles BeforeDoubleClick et BeforeRightClick ci-dessous.
Option Explicit 'oblige à déclarer toutes les variables
Private PL As Range 'déclare la variable PL (PLage)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'au double-clic dans l'onglet
If Application.Intersect(Target, Range("A4").CurrentRegion) Is Nothing Then Exit Sub 'si le double-clic a lieu ailleurs que dans le tableau, sort de la procédure
If Target.Row = 4 Then Exit Sub 'si le double-clic a lieu dans la ligne 4, sort de la procédure
Cancel = True 'empêche le mode [Édition] lié au double-clic
Set PL = Range(Cells(Target.Row, "A"), Cells(Target.Row, "M")) 'définit la plage PL
PL.Select 'sélectionne la plage PL
End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 'au clic du bouton droit dans l'onglet
If Application.Intersect(Target, Range("A4").CurrentRegion) Is Nothing Then Exit Sub 'si le double-clic a lieu ailleurs que dans le tableau, sort de la procédure
Cancel = True 'empêche le menu contextuel lié au clic-du-bouton-droit
If PL Is Nothing Then 'condition : si la plage PL est vide
If MsgBox("Voulez-vous supprimer cette ligne ?", vbYesNo) = vbYes Then 'condition 2 : si "Oui" au message
Rows(ActiveCell.Row).Delete 'supprime la ligne de la cellule active
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
Else 'sinon (condition 1)
If Application.Intersect(Target, PL) Is Nothing Then 'condition 2 : si la cellule active ne fait pas partie de la plage PL
If MsgBox("Voulez-vous insérer la ligne précédemment copiée ?", vbYesNo) = vbYes Then 'condition 3 : si "Oui" au message
Rows(Target.Row).Insert xlDown 'insère une ligne en-dessous de la cellule double-cliquée
PL.Copy Cells(ActiveCell.Row, "A") 'copye la plage PL dans la colonne A de la cellule active
End If 'fin de la condition 3
End If 'fin de la condition 2
Set PL = Nothing 'vide la plage PL
End If 'fin de la condition 1
End Sub
Ton fichier modifié en pièce jointe :