verrouiller un fichier excel avec une macro - VB/VBA/VBS - Programmation
Marsh Posté le 07-09-2016 à 13:19:53
Salut Nico,
J'imagine que tu utilises la méthode SaveAs pour sauvegarder tes fichiers. Si c'est le cas, tu as une option Password pour définir un mot de passe.
Sinon, la méthode WorkBook.Password permet également de définir un mot de passe après coup.
Marsh Posté le 07-09-2016 à 14:14:31
Tout d'abord merci de ta réponse,
Alors niveau macro, pour chaque ville, j'ai fait ça :
'Strasbourg
nom= "Strasbourg"
Chemin = dossier & nom
Workbooks.Add
ActiveWorkbooks.SaveAs Filename :=chemin, FileFormat :=51
Range ("A1" ).Select
Set dec = ActiveWorkbook
bdd.Activate
Sheets("resume" ).Copy After :=dec.Sheets (3)
bdd.Activate
Sheets("STRASBOURG" ).Copy After :=dec.Sheets (4)
dec.Activate
Sheets(Array("Feuil1","Feuil2","Feuil3" )).Select
ActiveWindow.SelectedSheets.Delete
dec.Save
dec.Close
Et ça continue comme ça avec les autres villes
J'ai essayé avec ActiveSheet.Protect ("monmotdepasse" )
Mais ça ne fonctionne pas..
EDIT : j'ai rajouté le paramètre Password après FileFormat, cela semble fonctionner, merci à toi !
Marsh Posté le 07-09-2016 à 10:08:27
bonjour,
Je cherche un moyen d'automatiser la pose d'un mot de passe sur un fichier excel, via une ligne de code dans une macro.
Je m'explique :
j'ai un fichier contenant des données commerciales d'une cinquantaine de villes. Via l'utilisation d'une macro découpe-feuille, ce fichier se décompose en cinquante onglets, un onglet par ville, avec les données relatives aux villes dans ces même onglets.
Avec l'utilisation d'une autre macro, ces onglets sont séparés et enregistrés dans de nouveaux classeurs excel, un par ville.
Or ces nouveaux classeurs sont enregistrés dans un dossier sur un serveur commun, accessible aux sous directeurs de chaque ville. Mais je voudrais empêcher le directeur de Lyon de voir le fichier du directeur de Dijon par exemple. Jusqu'à présent je mettais un mot de passe, manuellement, via "outils" -> "options générales" -> "mot de passe pour la lecture".
Ce qui entrainait la demande d'un mot de passe à l'ouverture du fichier.
Y-a-t-il un moyen d'automatiser cette action grâce à une ligne à insérer dans ma deuxième macro ?
Merci d'avance.