Bonjour,
J'ai crée un fichier pour les congés dans ma boite. Malheureusement je n'ai pas les bases pour développer correctement moi même le code en VBA, et je me suis servi de code récupéré a gauche et droite sur des forums en tachant d'en comprendre le fonctionnement. Voila donc mon Problème. Le code :
En gros il faut cocher la case pour pouvoir saisir,mais une fois une cellule saisie elle doit se verrouiller pour ne plus être modifiée.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Private Sub ValidationBOX_Click() Select Case ValidationBOX Case True MsgBox _ "Vous Pouvez maintenant Saisir", _ vbExclamation, "Informations" ActiveSheet.Unprotect ("08!"): Range("A8:G30").Locked = False ActiveSheet.Protect Password:="08!" Case False ' MsgBox _ "Vous devez valider pour pouvoir saisir", _ vbExclamation, "Informations" ActiveSheet.Unprotect ("08!"): Range("A8:G30").Locked = True ActiveSheet.Protect Password:="08!" End Select 'On empeche de modifier les lignes deja saisies (fonctionne sur excel 2007 et supérieur For Each c In Sheets("Congés").Range("A8:G30") If c <> "" Then ActiveSheet.Unprotect Password:="08!" c.Locked = True ActiveSheet.Protect Password:="08!" End If Next c End Sub
Ceci Fonctionne très bien à partir d'office 2007 mais pas sur 2003. J'ai une erreur d’exécution 13 "incompatibilité de type".J'ai arpenté les forums qui parlent d'un problème de variable.
Je peux joindre le fichier ci besoin pour illustrer mon problème.
Merci par avance de votre aide.
Partager