• Initiateur de la discussion Initiateur de la discussion fifi
  • Date de début Date de début

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 !

fifi

XLDnaute Occasionnel
bonjour le forum

dans le cadre de la maîtrise des documents je dois pouvoir protéger les documents, et changer régulièrement les mots de passe pour la lecture et l'écriture en fonction des changements de personnes autorisés.

donc ma question est comment faire une macro dans un classeur dédié pour changer les mots de passe de tous les documents excels (et words) d'un répertoire?
(en connaissance celui déjà en place bien sur.



une petite aide svp 😀
merci
 
Re : Protection massive

Bonjour

Protection avec mot passe ("monmotdepasse")
ActiveSheet.Protect Password:="monmotdepasse", DrawingObjects:=True, Contents:=True, Scenarios:=True

Enlever la protection;
ActiveSheet.Unprotect ("monmotdepasse")

changer ActiveSheet par les noms de classeur soit avec une boucle ou tout autre moyen

🙄
 
Re : Protection massive

humm ok merci ca c'est pour la protection des feuilles.

mais pour protèger le classeur lors de l'ouverture.

je cherche une macro qui ouvre les classeurs protégés (avec un mot de pass) à l'ouverture et puisse changer ce mot de passe , puis refermer le classeur.
 
Re : Protection massive

Bonjour fifi, Gilbert,

Si vous le voulez bien, on se limitera aux classeurs Excel.

Les fichiers du répertoire du classeur où se trouve la macro sont protégés par le mot de passe "toto" ou ne sont pas protégés.

La macro crée le nouveau mot de passe "tata" :

Code:
Sub ChangeMdp()
Dim nomfich$
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
nomfich = Dir(ThisWorkbook.Path & "\*.xls") '1er fichier du dossier
While nomfich <> ""
  If nomfich <> ThisWorkbook.Name Then
    Workbooks.Open ThisWorkbook.Path & "\" & nomfich, Password:="[COLOR="Red"]toto[/COLOR]"
    Workbooks(nomfich).SaveAs ThisWorkbook.Path & "\" & nomfich, Password:="[COLOR="red"]tata[/COLOR]"
    Workbooks(nomfich).Close
  End If
  nomfich = Dir 'fichier suivant du dossier
Wend
End Sub

A+
 
Re : Protection massive

ah ca ma l'air de coller à ce que je recherce 😀
je test de suite
merci




2minutes plus tad


parfait ca marche nikel.
beaucoup plus rapide que de tout modifier à la main.

le seul pb mais c'est d'inhiber les macros à l'ouverture des classeurs pour lesquel le mot de passe sera changé.


merci en tout cas
 
Re : Protection massive

Re,

Pour inhiber les éventuelles macros qui seraient déclanchées par ces évènements :

Code:
While nomfich <> ""
  If nomfich <> ThisWorkbook.Name Then
    [COLOR="Red"]Application.EnableEvents = False[/COLOR]
    Workbooks.Open ThisWorkbook.Path & "\" & nomfich, Password:="toto"
    Workbooks(nomfich).SaveAs ThisWorkbook.Path & "\" & nomfich, Password:="tata"
    Workbooks(nomfich).Close
    [COLOR="red"]Application.EnableEvents = True[/COLOR]
  End If
  nomfich = Dir 'fichier suivant du dossier
Wend

A+
 
- 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

L
Réponses
9
Affichages
1 K
G
Réponses
4
Affichages
1 K
Gregoryen
G
J
Réponses
1
Affichages
726
Compte Supprimé 979
C
C
Réponses
24
Affichages
3 K
Charles Sion
C
K
Réponses
0
Affichages
1 K
K
N
Réponses
13
Affichages
1 K
S
Réponses
9
Affichages
4 K
Sylvie_076
S
G
Réponses
4
Affichages
1 K
G
K
Réponses
1
Affichages
914
K
O
Réponses
4
Affichages
1 K
U
Réponses
29
Affichages
3 K
Retour