Bonjour à tous
je cherche à introduire le mot de passe que je souhaite dans une ligne VBA.
Que dois je rajouter à la ligne : ActiveSheet.Protect ?
Merci d'avance
Bonjour à tous
je cherche à introduire le mot de passe que je souhaite dans une ligne VBA.
Que dois je rajouter à la ligne : ActiveSheet.Protect ?
Merci d'avance
bonjour,
une exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub Macro1() Dim wb As Workbook Dim Fl As Worksheet Set wb = ThisWorkbook Set Fl = wb.Worksheets("Feuil1") Fl.Protect Password:="test" End Sub
Merci a tous pour votre aide
Donc voici mes lignes de code
Par contre que puis je insérer à la place de base d'article pour prendre tous les onglets, je n'arrive pas à trouver?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub fermeture() Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim wb As Workbook Dim Fl As Worksheet Set wb = ThisWorkbook Set Fl = wb.Worksheets("Base d'article") Fl.Protect Password:="test" MsgBox " Merci d'avoir utilisé le logiciel DEVIS " End Sub
Ajoute en début de code une gestion d'erreur
exemple: On error resume Next (qui poursuit le code en cas d'erreur)
ou encore On error Goto tamarque
pour la marque un exemple:
Dans le deuxième exemple si la macro rencontre une erreur elle ira directement à la ligne ou se trouve la "marque"
Code : Sélectionner tout - Visualiser dans une fenêtre à part tamarque:
Pour être complet ajoute également la ligne Application.displayAlerts qui inhibe les messages d'erreurs (une partie)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub exemple() On Error Resume Next Application.DisplayAlerts = False 'Ton code Application.DisplayAlerts = True End Sub
EDIT: évite de changer ta question en cours de route
Pour ton autre question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For i = 1 To Worksheets.Count MsgBox Worksheets(i).Name Next
désolé pour ce changement de question, je me suis aperçus que c'été plus facile de verrouiller tous les onglets^^.mais je ne sais pas quoi mettre...
Déjà dans ton code tu as deux sub l'une dans l'autre... Fermeture et Workbook_BeforeClose. Sachant que Workbook_BeforeClose est un événement qui se produit au moment ou tu fermes ton classeur et qui doit être placé dans l'objet "ThiWorkbook" (une feuille avec un X vert dans ton code)
bref voila le code exact:
Qui va donc mettre un mot de passe sur toutes les feuilles de ton classeur entre le moment ou l'utilisateur va fermer le classeur et le moment ou il sera réellement fermé... Avec une petite gestion d'erreur qui ne devrait pas servir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim i As Integer On Error Resume Next For i = 1 To Worksheets.Count Worksheets(i).Protect Password:="test" Next MsgBox " Merci d'avoir utilisé le logiciel DEVIS " End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager