code de protection feuille qui ne fonctionne plus

pascal21

XLDnaute Barbatruc
bonjour à tous
j'ai ce code qui fonctionnait bien jusqu'a maintenant qui me pose des soucis( variable non définie) sur le mot worksheet
je ne vois pas où est le problème (il doit sans crever les yeux)
Code:
Private Sub Workbook_Open()
Sheets("tableau de bord").Activate
Application.DisplayFullScreen = True 'plein écran
For Each Worksheet In Sheets
Worksheet.Protect Password:="tp", UserInterfaceOnly:=True
'Next Worksheet
End Sub
voyez vous le problème merci
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : code de protection feuille qui ne fonctionne plus

Bonjour,

Worksheet est un mot de code VBA, ne pas l'utiliser comme variable !!!

Code:
Private Sub Workbook_Open()
Dim w As Worksheet
Sheets("tableau de bord").Activate
Application.DisplayFullScreen = True 'plein écran
For Each w In Worksheets
w.Protect Password:="tp", UserInterfaceOnly:=True
Next w
End Sub
A+
 

pascal21

XLDnaute Barbatruc
Re : code de protection feuille qui ne fonctionne plus

j'ai résolu le problème en faisant comme ça
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Protect Password:="tp", UserInterfaceOnly:=True
End Sub
bonjour JOB75
je ne comprends pas pourquoi ça fonctionnait jusqu'à maintenant
bonne journée
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : code de protection feuille qui ne fonctionne plus

Re Jean-Marcel,

Ta solution ne fonctionne pas chez Pascal car la déclaration de variables a été rendue obligatoire, soit par Option Explicit, soit dans les options VBA.

Reconnais qu'écrire alors Dim Worksheet As Worksheet c'est pas terrible...

Il vaut mieux utiliser Dim w As Worksheet...

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 688
Messages
2 090 963
Membres
104 714
dernier inscrit
GARGAMEL