Déverouiller classeur chiffré vba

Fermé
gerardlenorman - 10 mai 2023 à 17:26
 gerardlenorman - 10 mai 2023 à 20:12

Bonjour,

bon c'est simple mais compliqué comme sujet; je vous explique. 

Au boulot on utilise Sharepoint.

J'ai un classeur avec macro qui dans excel s'ouvre en "Application.Visible=False"

Sharepoint ne gère pas les macros et je ne veux pas que les utilisateurs accèdent directement au classeur mais j'ai besoin qu'il soit partagé. 

Mmmm pas simple et là éclair de génie (même si laborieux) : 

1. je créé un autre classeur avec macro qui contient le code en "Workbbok_Open" qui ouvre le second classeur automatiquement par son lien

2. si j'ouvre ce 1er fichier sur Sharepoint, rien ne se passe. Donc l'utilisateur n'a d'autre choix que de télécharger ce premier fichier et l'ouvrir via Excel (ce sera par ailleurs la consigne)

3. le second fichier est protégé par mot de passe (classeur chiffré) et n'est pas ouvrable via Sharepoint en l'état

4. j'ouvre donc sur excel le 1er fichier (que chaque utilisateur l'aura sur son PC) ; celui-ci appelle le second dans l'application excel toujours mais je ne trouve pas le moyen de le déverouiller par macro

J'ai essayé dans le 1er fichier puis le second mais rien à faire. 

Est-ce-que le problème vient du fait que le classeur soit chiffré ou peut-être de la syntaxe ?

Les codes déjà essayés : 

Workbooks("fichier2").Unprotect password:="password"
Workbooks("fichier2").Unprotect (password:="password")
Workbooks("fichier2").Unprotect "password"

ActiveWorkbook.Unprotect password:="password"
ActiveWorkbook.Unprotect (password:="password")
ActiveWorkbook.Unprotect "password"

ThisWorkbook.Unprotect password:="password"
ThisWorkbook.Unprotect (password:="password")
ThisWorkbook.Unprotect "password"

Merci par avance


Windows / Chrome 112.0.0.0

A voir également:

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
10 mai 2023 à 18:41

Bonjour,

Voir ceci


0
gerardlenorman
10 mai 2023 à 19:15

Rebonjour, 

je mets quand-même ici mon code (dans fichier 1) qui est fonctionnel si le fichier 2 n'est pas verrouillé. 

S'il l'est je n'arrive pas à trouver la bonne syntaxe pour ajouter le mot de passe :( 

Option Explicit

Private Sub Workbook_Open()
    Dim URL As String
    URL = "mon_lien_vers_sharepoint"
    ThisWorkbook.FollowHyperlink URL
End Sub

Si je remplace la ligne : 

ThisWorkbook.FollowHyperlink URL

Par : 

Workbooks.Open Filename:=URL, Password:="password"

Je me retrouve avec un fichier ouvert qui a le bon nom et avec uniquement 1 feuille qui porte le même nom que le classeur nouvellement créé. 

Quelqu'un a une idée SVP ?

0
gerardlenorman
10 mai 2023 à 20:04

Bonjour cs_Le Pivert

Je vais essayer ça du coup 

Workbooks.Open "C:\Dossier VBA\Fichier Exemple 1.xlsx", , , , "Mot de Passe"

En remplaçant le chemin du fichier par mon lien et le mot de passe. 

Je suppose que c'est ce code qu'il faut retenir sur la page suggérée ? 

Merci

0
gerardlenorman
10 mai 2023 à 20:12

Re, 

ça ne fonctionne pas. Juste 1 nouveau classeur qui s'ouvre avec 1 seul onglet comme décrit ci-dessus

0