Private test As Boolean 'déclare la variable test
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim li As Integer 'déclare la variable li (LIgne)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
If test = True Then test = False: Exit Sub 'si la variable test est vrai, definit test comme faux, sort de la procédure
dl = Cells(Application.Rows.Count, 1).End(xlUp).Row 'de'finit la dernière ligne éditée dl de la colonne 1 (=A)
Set pl = Range("A5:B" & dl) 'définit la plage pl (inclus maintenant la colonne B)
If Application.Intersect(Target, pl) Is Nothing Then Exit Sub 'si le changement a lieu aillerus qu'en pl, sort de la procédure
Cancel = True 'évite le mode edition lié au double clic
If Target.Value = "Envoyé OK" Then Exit Sub 'si la cellule double-cliquée contient "Envoyé OK", sort de la procédure
li = Target.Row 'définit la ligne li
Select Case Target.Column 'agit en fonction de la colonne de la cellule double-cliquée
Case 1 'cas colonne 1 (=A)
Set dest = Sheets("Feuil2").Cells(Application.Rows.Count, 2).End(xlUp).Offset(1, 0) 'définit la cellule de destination dest
dest.Value = Cells(li, 3).Value 'dest prend la valeur de la donnée 1
dest.Offset(0, 2).Value = Cells(li, 4).Value 'dest décalé de 2 colonne à droite prend la valeur de la donnée 2
dest.Offset(0, 4).Value = Cells(li, 6).Value 'dest décalé de 4 colonne à droite prend la valeur de la donnée 3
Target.Value = "Envoyé OK" 'écrit "Envoyé Ok" dans la cellule double-cliquée
Target.Value = "Envoyé OK" 'écrit "Envoyé Ok" dans la cellule double-cliquée
Case 2 'cas colonne 1 (=B)
With Sheets("Feuil3") 'prend en compre l'onglet "Feuil3"
.Range("C6").Value = Cells(li, 3).Value 'récupère en C6 la valeur de la cellule en colonne C
.Range("E11").Value = Cells(li, 4).Value 'récupère en E11 la valeur de la cellule en colonne D
.Range("D21").Value = Cells(li, 6).Value 'récupère en D21 la valeur de la cellule en colonne F
Target.Value = "Envoyé OK" 'écrit "Envoyé Ok" dans la cellule double-cliquée
.PrintOut Copies:=1 'imprime l'onglet
End With 'fin de la prise en compre de l'onglet "Feuil3"
End Select 'fin de l'action en fonction de...
End Sub