macro de protection à l'ouverture

  • Initiateur de la discussion Initiateur de la discussion Olivierd
  • 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 !

O

Olivierd

Guest
bonjour à tous,

J'aimerais avoir un code qui génère un mot de passe à l'ouverture sur un classeur ouvert en court d'utilisation..;

J'ai bien essayé avec:
Sub Genere_un_motdepasse_a_louverture()
ActiveWorkbook.SaveAs Filename:="Mondisque_dur:Users:moi:Bureau:mon_Classeur_ouvert.xls", _
FileFormat:=xlNormal, Password:="password", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=True
End Sub

Mais cela m'oblige à renommer le classeur actif=> je voudrais enregistrer sous le même nom + au même endroit, n'importe quel classeur ouvert...

euh.. pensez-vous que c'est possible ?

cordialement



( et oui, je suis sous Mac: n'ayez crainte 🙂)
 
bonjour

SI LE CLASSEUR A DEJA ETE ENREGISTRE

en utilisant les .path et .name comme suit tu as peut-être une piste

chemin = ThisWorkbook.Path
'vérifie que le classeur a déjà été enregistré
if chemin <> "" then
nom = ThisWorkbook.Name
ActiveWorkbook.SaveAs Filename:= chemin & "\" & nom _
.......
end if

Si le classeur est nouveau, a toi de gérer..

Eric
 
bonjour, merci pour ta réponse

Je n'arrive pas à compiler correctement la suite ( à partir de FileFormat:= etc.. )

Pourriez-vous m'indiquer ce qui cloche ( à part moi 🙂) ?

Sub Macro_pour_proteger_un_classeur_enregistre()

chemin = ThisWorkbook.Path
'vérifie que le classeur a déjà été enregistré
If chemin <> "" Then
nom = ThisWorkbook.Name
ActiveWorkbook.SaveAs Filename:=chemin & "\" & nom_

FileFormat:=xlNormal, Password:="code", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End If

End Sub


merci d'avance

cordialement
 
Bonjour

quelques lignes qui ouvrent la boite de dialogue ouvrir
tu sélectionnes ton fichier
le mot de passe et la protection sont ajoutés
le classeur est refermé

si tu mets cela dans un fichier "protéger.xls", couplé à un bouton
a chaque appui du bouton tu peux sélectionner ton fichier


Application.Dialogs(xlDialogOpen).Show
ActiveWorkbook.Protect password:="essai"
ActiveWorkbook.Protect Structure:=True, Windows:=False

ActiveWindow.Close Savechanges:=True

si tous les fichiers à protéger sont dans le même répertoire tu peux automatiser

Cet exemple montre comment rechercher dans le dossier « Mes documents » tous les fichiers dont le nom commence par « Cmd », et comment afficher le nom et le chemin de chaque fichier trouvé en adaptant l'exemple issu de l'aide visual sur Lookin

Set fs = Application.FileSearch
With fs
.LookIn = "C:\Mes documents"
.FileName = "cmd.*"
If .Execute > 0 Then
MsgBox "Ce dossier contient " & .FoundFiles.Count & _
" fichier(s) répondant aux critères."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Aucun fichier n'a été trouvé."
End If
End With

A+
 
merci
voici dond la macro utilisée

Sub Macro_pour_proteger_un_classeur_enregistre()
nom = ThisWorkbook.Name
ActiveWorkbook.SaveAs Filename:=chemin & "" & nom _
, FileFormat:=xlNormal, Password:="code", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub


Amicalement
 
re,

ce qui est bizarre c'est que la macro ci-dessus fonctionne intégrée dans une classeur
elle protége le classeur en conservant son nom

par contre, elle ne fonctionne plus si je l'enregistre dans le classeur de macros personnelles: j'ai un message qui m'indique que je dois changer de nom et enregistrer le fichier codé sous un autre nom....

bizarre non ?

A+
 
re

si ta macro est dans le classeur perso, thisworkbook = classeur

essaie ceci :

Sub Macro_pour_proteger_un_classeur_enregistre()
chemin = ActiveWorkbook.Path
nom = ActiveWorkbook.Name
If chemin <> "" Then
ActiveWorkbook.SaveAs FileName:=chemin & "" & nom _
, FileFormat:=xlNormal, Password:="code", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Else: MsgBox ("Ce fichier n'a jamais été enregistré"): Exit Sub
End If
End Sub

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

A
Réponses
5
Affichages
1 K
A
Retour