Bonjour à tous,

J'ai un code qui permet de rajouter un onglet à la fin de plusieurs (environ 250) feuilles Excel.

Je voudrais à l'ouverture de chaque fichier protéger, par mot de passe, le code vba du classeur ouvert (avant ou après l'ajout du l'onglet).

Le mot de passe sera le même pour tous les fichiers.


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
Sub Macro1()
 
Dim Fichier As String, Chemin As String
 Dim Wb As Workbook
 Dim wbExcel As Workbook
 
'Définit le répertoire contenant les fichiers
 
Chemin = "C:\Users\bas\Desktop\TESTS\onglet\"
 Fichier = Dir(Chemin & "*.xlsm")
 
 ' Permet de masquer les fenetres d'alertes de liaison
 Application.ScreenUpdating = False
 Application.AskToUpdateLinks = False
 
'Boucle sur tous les fichiers xlsm du répertoire.
 Do While Fichier <> ""
 Set Wb = Workbooks.Open(Chemin & Fichier, UpdateLinks:=0)
 
 ' Copie de l'onglet info et enregistrement sur la feuille active
 ThisWorkbook.Sheets("Info").Copy After:=Wb.Sheets(Wb.Sheets.Count)
 
'INSERER ICI LE CODE POUR PROTEGER PAR MOT DE PASSE LE CODE VBA DU CLASSEUR ACTIF
 
ActiveWorkbook.Save
 Wb.Close
 Application.ScreenUpdating = True
 Set Wb = Nothing
 Fichier = Dir
 
 Loop
 End Sub
En d'autre terme, c'est traduire en code vba la propriété ci-dessousNom : Capture.PNG
Affichages : 1074
Taille : 100,0 Ko