Bonjour,
lors de la modification de la feuille 36, je souhaites mettre à jour la date de modification en Range("I3") sur une feuille protégée par mot de passe, mais ça bug !!
Message d'erreur VBA :
"Erreur d 'exécution '1004':"
"Erreur définie par l'application ou par l'objet."
En test sur Excel version 97 ou 2010 même problème sur fichier en .xls.
J'ai aussi eu 1 fois ou 2 : "erreur : espace pile insuffisant"
Hors la mise à jour de cellules par exemple en F9, J8... ne pose pas de problème (via un USF)
J'ai cherché différentes solutions mais ne comprend pas le problème.
Voici le code :
Merci pour vos conseils
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 '----------------------------- 'Dans ThisWorkbook '----------------------------- Private Sub Workbook_Open() Dim sh As Worksheet Application.ScreenUpdating = False Application.CommandBars("Control Toolbox").Controls(1).Enabled = True 'False 'PageProtec = Sheets("Parametres").Range("X48") 'boucle sur toutes mes feuilles : For Each sh In Sheets 'Mot de passe pour toutes les feuilles sh.Visible = True ''Attention si feuille non visible, MdP peut-être différent sh.Protect Password:=Sheets("Parametres").Range("PageProtect"), UserInterfaceOnly:=True Next sh Application.ScreenUpdating = True End Sub '----------------------------- 'Dans feuil36 '----------------------------- Private Sub Worksheet_Change(ByVal Target As Range) With ActiveSheet .Unprotect Password:=Sheets("Parametres").Range("PageProtect"), UserInterfaceOnly:=True .Range("I3") = Date .Protect Password:=Sheets("Parametres").Range("PageProtect"), UserInterfaceOnly:=True End With End Sub
Partager