Bonjour,
J'ai fait une ligne de code afin de changer de couleur les collaborateurs présents ou non dans un fichier excel.
Je ne veux pas que les utilisateurs utilisant cette feuille puisse toucher autre chose que le changement de couleur par double clic de la cellule, du coup je protège le fichier.
Les noms de collaborateurs sont dans la colonne "C" et des responsables "I". En début de liste de la colonne "C" se trouve aussi le responsable de la semaine (Qui est forcement aussi dans la colonne "I"). Le bute est qu'en cas de double clique sur le nom d'un responsable, il change de couleur autant dans la colonne "I" qu'en entête de la "C".
Le changement de couleur fonctionne bien, mais du moment que l'on double clique sur le responsable de la semaine, le fichier se retrouve déverrouillé...
J'ai regardé en pas à pas, le pourquoi du comment, et le code se stoppe du moment qu'il arrive sur la ligne 11. Du coup, il ne va pas jusqu'au re-verrouillage de la feuille...
Je ne comprends pas pourquoi, est ce que vous pourriez m'aider ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Not Intersect(Target, [C12,C14,C16,C18,C20,C22:C23,C27:C32,I3:I10]) Is Nothing Then
        FPresence.Unprotect ("XXXXX")
        If Target.Count > 1 Then Exit Sub
        If Target.Offset(0, 1) = "" Then Exit Sub
        Target.Font.ColorIndex = IIf(Target.Font.ColorIndex = 3, 4, 3)
 
        If Target.Column = 9 And Target.Row >= 3 And Target.Row <= 10 Then
            If Cells(3, 4).Text = Cells(Target.Row, 10).Text Then
                Cells(3, 3).Font.ColorIndex = Cells(Target.Row, 9).Font.ColorIndex
            End If
        End If
        FPresence.Protect ("XXXXX")
    End If
End Sub