Protéger plusieurs niveaus de protection selon les onglets
Fermé
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
-
12 oct. 2020 à 15:09
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 13 oct. 2020 à 10:54
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 13 oct. 2020 à 10:54
A voir également:
- Protéger plusieurs niveaus de protection selon les onglets
- Proteger cellule excel - Guide
- Restaurer onglets chrome - Guide
- Protéger un dossier par mot de passe - Guide
- Sentinel protection installer - Télécharger - Antivirus & Antimalwares
- 99 onglets ouverts android - Forum Samsung
3 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 oct. 2020 à 16:00
12 oct. 2020 à 16:00
Bonjour,
une piste a mettre dans ThisWorkbook. Se déclenchera à chaque activation d'une feuille:
une piste a mettre dans ThisWorkbook. Se déclenchera à chaque activation d'une feuille:
Option Explicit Private Sub Workbook_SheetActivate(ByVal Sh As Object) 'ton code End Sub
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
12 oct. 2020 à 17:01
12 oct. 2020 à 17:01
J'ai tenté cela mais ça ne fonctionne pas.
le but étant d'appliquer le verrouillage au feuilles ne portant pas comme nom la date du jour.
Private Sub Workbook_Open()
Dim onglet As Worksheet
'boucle sur toutes les feuilles du classeur
For Each onglet In Application.ActiveWorkbook.Worksheets
If onglet.Name <> Format(Date, "dd-mm-yy") Then
ActiveSheet.Unprotect
ActiveSheet.protect DrawingObjects:=False, Contents:=True, Scenarios:=False
End If
Next onglet
End Sub
le but étant d'appliquer le verrouillage au feuilles ne portant pas comme nom la date du jour.
Private Sub Workbook_Open()
Dim onglet As Worksheet
'boucle sur toutes les feuilles du classeur
For Each onglet In Application.ActiveWorkbook.Worksheets
If onglet.Name <> Format(Date, "dd-mm-yy") Then
ActiveSheet.Unprotect
ActiveSheet.protect DrawingObjects:=False, Contents:=True, Scenarios:=False
End If
Next onglet
End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
12 oct. 2020 à 18:57
12 oct. 2020 à 18:57
comme ceci:
Option Explicit Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim onglet As Worksheet For Each onglet In Application.Worksheets ActiveSheet.Protect Next onglet Sheets(Format(Date, "dd-mm-yy")).Unprotect End Sub
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
13 oct. 2020 à 09:54
13 oct. 2020 à 09:54
visiblement, l'avant dernière ligne ne lui plait pas.
" l'indice n'appartient pas à la sélection"
" l'indice n'appartient pas à la sélection"
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
Modifié le 13 oct. 2020 à 10:03
Modifié le 13 oct. 2020 à 10:03
C'est normal si la feuille n'existe pas!
Pour y remédier 2 méthodes:
méthode radicale:
méthode douce:
Voilà
@+ Le Pivert
Pour y remédier 2 méthodes:
méthode radicale:
Option Explicit Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim onglet As Worksheet On Error Resume Next For Each onglet In Application.Worksheets ActiveSheet.Protect Next onglet Sheets(Format(Date, "dd-mm-yy")).Unprotect End Sub
méthode douce:
Option Explicit Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim onglet As Worksheet For Each onglet In Application.Worksheets ActiveSheet.Protect Next onglet For Each onglet In Application.Worksheets If onglet.Name = Format(Date, "dd-mm-yy") Then Sheets(Format(Date, "dd-mm-yy")).Unprotect End If Next onglet End Sub
Voilà
@+ Le Pivert
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
13 oct. 2020 à 10:43
13 oct. 2020 à 10:43
Merci de votre temps.
Alors, je n'ai pas de bug, cependant cela ne protège pas les autres feuilles.
En plus, je crois que j'ai fait une erreur dans mon raisonnement qui va planter le truc.
L'autre solution serait de toujours déprotéger l'onglet en position 2 et de verrouiller tous les autres.
serait-ce plus simple?
Alors, je n'ai pas de bug, cependant cela ne protège pas les autres feuilles.
En plus, je crois que j'ai fait une erreur dans mon raisonnement qui va planter le truc.
L'autre solution serait de toujours déprotéger l'onglet en position 2 et de verrouiller tous les autres.
serait-ce plus simple?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
Maksime568
Messages postés
144
Date d'inscription
mardi 15 avril 2014
Statut
Membre
Dernière intervention
28 novembre 2022
Modifié le 13 oct. 2020 à 10:58
Modifié le 13 oct. 2020 à 10:58
12 oct. 2020 à 16:15
Modifié le 12 oct. 2020 à 16:28