Enlever et remettre protection via macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CBDORVAL

XLDnaute Junior
Bonjour à tous et évidement à toutes

J’ai fait un fichier assez complexe (du moins pour moi…) qui contient plein de données, de tableaux, de macros de formules etc. Tout cela se trouve logé dans la même feuille intitulée « ACCEUIL », dans un fichier appelé « SV518A » Ce fichier nous permet de trouver parmi 2850 lignes laquelle correspond aux critères choisis soit la ville, la rue et le no civique. On obtient la section de vote correspondante à cette tranche d’adresse
Tout fonctionne très bien, sauf que je voudrai ajouter un autre élément afin de protéger mon fichier contre toutes modifications. J’aimerai donc pouvoir installer une protection sur cette feuille, mais pour que les macros fonctionnent, soit celle ChercheSV et Nouvelle_recherche, il faut qu’au début de ces macros on puisse enlever la protection en utilisant le mot de passe « mdp518 », exécuter les diverses étapes de cette macro et à la fin remettre la protection avec le même mot de passe.
J’ai bien vu dans les archives une question semblable, mais je n’arrive pas à adapter le tout dans ma macro.
https://www.excel-downloads.com/threads/vba-macros-et-protection-de-la-feuille.175219/
Mon fichier est trop volumineux pour le transmettre via le forum, donc voici la macro ChercheSV.



Sub ChercheSV()
'
' ChercheSV Macro
'

'
Application.ScreenUpdating = False
Range("AM101").Select
Selection.Copy
ActiveSheet.Paste
ActiveSheet.Range("$AA$100:$AM$2950").AutoFilter Field:=13, Criteria1:="1"
Range("AF100").Select
Selection.End(xlDown).Select
Selection.Copy
Range("AF2953").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.Goto Reference:="Debut"
Range("D5").Select
Application.ScreenUpdating = True
End Sub


===============

Un peu d’aide SVP et merci
 
Re : Enlever et remettre protection via macro

Bonsoir,

pour permettre l'exécution du code sans protéger / déprotéger une feuille, il faut que la protection soit effectuée par le code en utilisant l'argument "userinterfaceonly", code ci-dessous à placer dans le module "thisworkbook", se déclenche à l'ouverture du classeur :
Code:
Option Explicit
Private Sub Workbook_Open()
Feuil1.Protect "toto", userinterfaceonly:=True
End Sub

bonne soirée
@+
 
Re : Enlever et remettre protection via macro

Bonsoir
tu pourrais essayer ceci

Private Sub deprotegefeuille()
Application.ScreenUpdating = False
activesheet.Unprotect Password::="mdp518"
call mamacro
End Sub

Private Sub protegefeuille()
Application.ScreenUpdating = False
ActiveSheet.Protect Password:="mdp518"
End Sub

Cordialement
 
Re : Enlever et remettre protection via macro

Voici ce que j'ai mios dans ma macro CHERECHESV et cela ne fonctionne pas.

Sub ChercheSV()
'
' ChercheSV Macro
Private Sub deprotegefeuille(ACCEUIL)
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="mdp518"
Application.ScreenUpdating = False
Range("AM101").Select
Selection.Copy
ActiveSheet.Paste
ActiveSheet.Range("$AA$100:$AM$2950").AutoFilter Field:=13, Criteria1:="1"
Range("AF100").Select
Selection.End(xlDown).Select
Selection.Copy
Range("AF2953").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.Goto Reference:="Debut"
Range("D5").Select
Private Sub protegefeuille(ACCEUIL)
Application.ScreenUpdating = False
ActiveSheet.Protect Password:="mdp518"
Application.ScreenUpdating = True
End Sub
 
Re : Enlever et remettre protection via macro

Je pense avoir trouver comment écrire correctement la macro car cela semble marcher. Je dois faire de même pour toutes les mnacxro du fichiers.
Sub ChercheSV()
'
' ChercheSV Macro
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="mdp518
Application.ScreenUpdating = False
Range("AM101").Select
Selection.Copy
ActiveSheet.Paste
ActiveSheet.Range("$AA$100:$AM$2950").AutoFilter Field:=13, Criteria1:="1"
Range("AF100").Select
Selection.End(xlDown).Select
Selection.Copy
Range("AF2953").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.Goto Reference:="Debut"
Range("D5").Select
ActiveSheet.Protect Password:="mdp518"
Application.ScreenUpdating = True
End Sub
 
Re : Enlever et remettre protection via macro

Bonsoir à tous,

Essaye cette syntaxe de la macro et lis les commentaires intégrés.

Sub ChercheSV()
' Désactivation de l'affichage
Application.ScreenUpdating = False
With ActiveSheet ' Objet de la série d'instruction qui suivent
' Déprotection de la feuille
.Unprotect Password:="mdp518"
' copie de la cellule
.Range("AM101").Copy
' Collé de cellule sans cellule précisée donc sur la même ???
.Paste
Application.CutCopyMode = False ' Annule le mode Couper ou Copier et supprime la marque de sélection
' Filtrage de la plage
.Range("$AA$100:$AM$2950").AutoFilter Field:=13, Criteria1:="1"
' Copier la plage définie
.Range("AF100").End(xlDown).Copy
.Range("AF2953").PasteSpecial Paste:=xlPasteValues
' Propriété ou méthode non connue
.Goto Reference:="Debut"
' Reprotection de la feuille
.Protect Password:="mdp518"
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
547
Réponses
7
Affichages
165
Réponses
17
Affichages
1 K
Retour