Protection massive

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 :D
merci
 

gilbert_RGI

XLDnaute Barbatruc
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

:rolleyes:
 

fifi

XLDnaute Occasionnel
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.
 

job75

XLDnaute Barbatruc
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+
 

fifi

XLDnaute Occasionnel
Re : Protection massive

ah ca ma l'air de coller à ce que je recherce :D
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
 

job75

XLDnaute Barbatruc
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+
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 604
Membres
104 224
dernier inscrit
Brilma