Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pl As Range 'déclare la variable pl (Plage)
Set pl = Range("plage") 'définit la plage pl
'si la sélection est multiple ou si test est vrai, sort de la procédure
If Selection.Cells.Count > 1 = True Then Exit Sub
'si le double-clic a lieu ailleurs que dans la plage pl, sort de la procédure
If Selection.Cells.Value = "" = True Then Exit Sub
'Si le double clic à lieu dans une cellule vide dans la pl, sort de la procédure
If Application.Intersect(Target, pl) Is Nothing Then Exit Sub
Cancel = True 'annule le mode édition lié au double-clic
Select Case Target.Font.ColorIndex
Case xlAutomatic
'En ne changeant pas la couleur de la police, cela permet toujours d'avoir la possibilité du double clic
Target.Font.ColorIndex = 1 'change la couleur de la police (1 = noir)
Target.Interior.Pattern = xlGray50 'Met les point (50 = 50% de points)
Target.Interior.PatternColorIndex = 1 'est la couleur des points
Target.Interior.TintAndShade = -1 'trois possibilités (-1 ; 0 ; 1) Clair - neutre - foncé
Target.Interior.PatternTintAndShade = 1 'idem
Case 1 '(ici c'est la couleur de la police qui a été changer qu'il faut mentionner)
Target.Font.ColorIndex = xlAutomatic 'remet la couleur en automatic
Target.Interior.Pattern = xlAutomatic 'idem
Target.Interior.PatternColorIndex = xlAutomatic 'idem
Target.Interior.TintAndShade = 0 ' remet à neutre
Target.Interior.PatternTintAndShade = 0 ' remet à neutre
End Select
Cancel = True
End Sub