Problème de code VBA Excel
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:
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 |