Microsoft 365 "Enregistrer sous" avec mot de passe à l'ouverture

etpisculrien

XLDnaute Occasionnel
Bonjour à tous

J'aurais besoin de vos lumières car je galère (ça rime)...
Je vous explique :
Je souhaite faire une macro qui permet d'ouvrir la boite de dialogue "Enregistrer sous" pour permettre à l'utilisateur de choisir le dossier mais en plus que :
1-le nom du fichier soit déjà inscrit et non modifiable dans la boite de dialogue "Enregistrer sous"
2-le fichier soit enregistré avec un mot de passe prédéfini qui sera demandé à l'ouverture

Est ce que ça vous parait possible?

Merci par avance pour votre aide
 
Solution
Bonjour Etpisculrien, Cp4,
Si le nom du fichier est figé, on peut se passer de la fenêtre "Enregistrer sous"
Un essai en PJ où nom du fichier et mot de passe sont "en dur". Le fichier est enregistré dans le dossier courant. Avec :
VB:
Sub SauveAvecPassword()
    Dim Chemin$, Nom$, MotDePasse$
    NomFichier = "Etpisculrien.xlsm"    ' A modifier
    MotDePasse = "1234"                 ' A modifier
    Chemin = ThisWorkbook.Path & "\"    ' A modifier si différent du dossier courant, doit se treminer par "\"
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, Password:=MotDePasse
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Etpisculrien, Cp4,
Si le nom du fichier est figé, on peut se passer de la fenêtre "Enregistrer sous"
Un essai en PJ où nom du fichier et mot de passe sont "en dur". Le fichier est enregistré dans le dossier courant. Avec :
VB:
Sub SauveAvecPassword()
    Dim Chemin$, Nom$, MotDePasse$
    NomFichier = "Etpisculrien.xlsm"    ' A modifier
    MotDePasse = "1234"                 ' A modifier
    Chemin = ThisWorkbook.Path & "\"    ' A modifier si différent du dossier courant, doit se treminer par "\"
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, Password:=MotDePasse
End Sub
 

Pièces jointes

  • EssaiPWD.xlsm
    14.2 KB · Affichages: 8

etpisculrien

XLDnaute Occasionnel
J'ai trouvé une solution pour ça :
'Ouvre la fenetre pour selectionner le dossier
Dim objShell As Object, objFolder As Object, oFolderItem As Object

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

On Error Resume Next
Set oFolderItem = objFolder.Items.Item
Chemin = oFolderItem.Path & "\"

Merci à tous pour votre aide
 

Discussions similaires

Réponses
5
Affichages
710
Compte Supprimé 979
C

Statistiques des forums

Discussions
315 094
Messages
2 116 148
Membres
112 670
dernier inscrit
Flow87