Bonjour,
Mon classeur est protégé à partir de la procédure "workbook open"
Dans ThisWorkbook :
Procédure "Option_Enregistrement" (dans module standard) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.DisplayFullScreen = False If SaveAsUI Then MsgBox "Désolé, l'option Enregistrer sous... est impossible !", _ vbExclamation, " Veuillez utiliser fichier / fermer " Cancel = True Else Call Options_Enregistrement End If End Sub
Procédure lancée depuis un CommandButton :
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
34 Sub Options_Enregistrement() Dim sh As Worksheet Dim Répertoire As String, Fichier As String, FichierIndexé As String Application.EnableEvents = True 'pour essai !! ThisWorkbook.Unprotect "****" * Application.DisplayFullScreen = False Répertoire = ThisWorkbook.Path * Fichier = ActiveWorkbook.Name * FichierIndexé = Format(Now, "yyyymmdd-hh""h""nn") & " " & Fichier With Sheets("Accueil") .Visible = True 'problème : La feuille n'apparaît pas !! .Activate .ScrollArea = "A1:C9" .Columns("A:C").Select With ActiveWindow .Zoom = True .Zoom = ActiveWindow.Zoom '- 1.5 End With [b2].Select 'ActiveWindow.ScrollRow = 1 End With For Each sh In ThisWorkbook.Sheets If sh.CodeName <> "Feuil1" Then sh.Visible = xlSheetVeryHidden Next ThisWorkbook.Protect "****", True, True ThisWorkbook.SaveCopyAs Répertoire & "\" & FichierIndexé 'à tester ! End Sub
Comme indiqué plus haut (cf. problème), la feuille "Accueil" n'apparaît pas et j'ai donc un message "La méthode Range a échoué" lorsque la procédure arrive sur ".Columns("A:C").Select". Et bien sûr, la procédure ne se termine pas normalement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub OnFerme() On Error Resume Next 's'il n'est pas ouvert ThisWorkbook.Close End Sub
Merci d'avance pour votre aide.
Partager