1 pièce(s) jointe(s)
Protéger le code vba de plusieurs classeurs Excel par mot de passe
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:
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-dessousPièce jointe 160101