Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Modifier un Projet Protégé

1 view
Skip to first unread message

Joël

unread,
Apr 21, 2003, 4:43:54 AM4/21/03
to
Bonjour,

J'ai trouvé plein d'exemples intéressants sur la façon de modifier du code
dans des modules VBA.

J'ai besoin de modifier, en VBA, le code de certains classeurs avec lesquels
je travaille. Mais les projet sont protégés (partons du principe que je
connais le mot de passe)

Je n'ai pas trouvé la méthode permettant de désactiver la protection du
projet, comme elle existe pour un simple classeur.

Un truc du genre ActiveWorkbook.VbProject.Unprotect (MotDePasse) n'est pas
valide.

VbProject étant une propriété en lecture seule !

Qui aura la solution SVP !!!!

Merci par avance

--


Bien Cordialement

Joël GARBE
+33 6 60 58 20 68
jo...@joelgarbe.fr


Michel Gaboly

unread,
Apr 21, 2003, 6:46:50 AM4/21/03
to
Bonjour Joël

À ma connaissance, ce n'est pas possible. ;-((

La raison, je crois, est d'empêcher de pouvoir faire sauter le protection d'un projet
auquel on est censé ne pas avoir accès, avec une procédure VBA testant successivement
de multiples mots de passe.

"Joël" a écrit :

--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Joël

unread,
Apr 21, 2003, 8:55:26 AM4/21/03
to
Merci Michel :-(

J'en prends note.

En revanche, j'ai vu sur Disciplus une procédure permettant d'ouvrir un
fichier en désactivant les macros, ce qui suffirait à mon bonheur (si je
parvenais à la faire fonctionner ;-)

voici le code transmis !!!

Pourquoi celà ne fonctionnerait-il pas avec moi, sur Excel 97 et suivantes ?

merci ...

--


Bien Cordialement

"Michel Gaboly" <mic...@gaboly.com> a écrit dans le message de news:
3EA3C77...@gaboly.com...

Joël

unread,
Apr 21, 2003, 9:00:11 AM4/21/03
to
Avec le code promis, c mieux ;-)

Dans un classeur j'ai des macros à l'ouverture que je voudrais
désactiver pour modifier ce classeur à partir d'un autre en VBA.
Comment faire ?
Mets ces deux macros dans un module d'un classeur. Lancer cette
procédure à partir de la feuille d'excel et non de la fenêtre VBE.
Elle ouvre le classeur
c:\Mes documents\Classeuravecmacros.xls
en désactivant ses macros.

Voici les procédures :

'Procédure appelante
'----------------------------
Sub OuvrirFichierSansActiverLesMacros()

OpenFileWithoutMacro "c:\Mes documents", "Classeuravecmacros.xls"

End Sub
'----------------------------

'----------------------------
Sub OpenFileWithoutMacro(Chemin As String, Fichier As String)

'Désactive complètement l'exécution des macros du fichier.
'N'affecte pas le comportement des autres fichiers ouverts.
'Cette procédure doit être appelé à partir de la feuille
'de calcul et non de la fenêtre VBE à cause des commandes

'Les 2 commandes suivantes s'assurent que
'la fenêtre "Open" pointe vers le bon répertoire
SendKeys "{esc}"
Application.Dialogs(xlDialogOpen).Show Chemin

'Ouvre le fichier en désactivant la macro.
SendKeys "%Fo" & Fichier & "%od"

End Sub


Denis Michon


--


Bien Cordialement

"Joël" <jo...@joelgarbe.fr> a écrit dans le message de news:
b80po3$fe3$1...@news-reader11.wanadoo.fr...

Joël

unread,
Apr 21, 2003, 9:19:15 AM4/21/03
to
Une autre façon d'aborder mon problème :

En fait, le fond du sujet est que :

Mon application est amenée à ouvrir d'autres classeurs pour faire du
"Copier-Coller Contrôlé".

Or, il se trouve que parmi les classeurs susceptibles d'être ouverts pour
"importer des données", il en est qui pourraient avoir des macros qui
m'obligent à passer par un bouton de commande pour les fermer (utilisation
de la commande VBA :
Workbooks("Monclasseur").Close False
impossible, il faut cliquer sur un bouton qui rétablit l'environnement
standard d'excel, ce que je ne veux pas bien entendu !!!

et bien entendu, ce type de classeur appelé étant déjà dans la nature, je ne
peux pas les modifier !!!

Donc, ou bien je parviens à désactiver les macros du classeur appelé via
VBA, ou bien je modifie le code des procédures (mais tu m'as bien précisé
que ce n'était pas possible, le projet étant protégé), ou bien je trouve la
solution pour savoir quand le classeur en question (appelé) à été finalement
fermé par l'utilisateur pour restaurer automatiquement l'environnement
"protégé" souahaité, ce que je saurais faire si un "interrupt" quelconque me
signifiait que je suis revenue à mon classeur d'origine ;-)

suis-je clair là, dis donc ????


En tout cas, merci de ton aide, et de celles des autres passagers de ce
forum ô combien précieux ;-)))))

--


Bien Cordialement

"Joël" <jo...@joelgarbe.fr> a écrit dans le message de news:
b80po3$fe3$1...@news-reader11.wanadoo.fr...

Frédéric Sigonneau

unread,
Apr 21, 2003, 9:39:48 AM4/21/03
to
Bonjour,

En partant du principe que tu connais le mot de passe, le code de ce module
devrait te dépanner :

http://perso.wanadoo.fr/frederic.sigonneau/code/VBE/ProtegerDeprotegerVBAProject.txt

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

"Joël" a écrit :

Michel Gaboly

unread,
Apr 21, 2003, 10:27:28 AM4/21/03
to
Re,

Est-ce que la procédure de Frédéric te convient ?

Je n'ai pas pu la tester, car SendKeys n'existe pas dans les versions d'Excel
pour Mac ;-((

Pareil pour OpenFileWithoutMacro :-((

"Joël" a écrit :

Joël

unread,
Apr 21, 2003, 10:56:51 AM4/21/03
to
Re-Bonsoir,

Au final, le code proposé ne semble pas répondre à ma demande :-((

en effet, je me retrouve avec la boîte de dialogue "Propriété du projet"
affichée, attendant que je lui entre le MDP, ce que je ne peux pas me
permettre,, l'application étant destinée à un utilisateur n'étant pas sensé
connaître ledit MDP !!

lors de la 2ème tentative, le mot de passe envoyé se retrouve dans la zone
"Nom du Projet" de ladite Boîte.

Que manque-t-il ????


--


Bien Cordialement

"Frédéric Sigonneau" <frederic....@wanadoo.fr> a écrit dans le message
de news: 3EA3F4A4...@wanadoo.fr...

Frédéric Sigonneau

unread,
Apr 21, 2003, 12:23:51 PM4/21/03
to
Re,

Qu'est-ce qui ne marche pas ?
Je viens de retester ce code et je n'obtiens pas cette boite de dialogue. Le
projet est déprotégé sans avertissement ni demande de confirmation.
Vérifie
- que le classeur à déprotéger est bien ouvert
- que tu fournis le bon mot de passe (sans caractères "parasites" du genre
espace ou autres).

Joël

unread,
Apr 21, 2003, 12:52:40 PM4/21/03
to
Merci Frédéric,

Je poursuis mes recherches, il semble qu'en évitant e le faire en pas à pas,
donc directement à partir du classeur, sans passer par le VBE, la
déprotection fonctionne correctement maintenant.

Il ne me reste qu'à supprimer le code qui me gêne dans le classeur appelé
!!!

Encore merci, Je crois avoir la solution sur ton site.

--


Bien Cordialement

Joël GARBE
+33 6 60 58 20 68
jo...@joelgarbe.fr
"Frédéric Sigonneau" <frederic....@wanadoo.fr> a écrit dans le message

de news: 3EA41B17...@wanadoo.fr...

Joël

unread,
Apr 21, 2003, 1:21:56 PM4/21/03
to
çà y est, je suis parvenu à faire ce que je voulais faire, ce que je ne
croyais pas avant de vous lire.

Un grand merci pour votre aide d'une part, et pour m'avoir permis de
franchir une étape très importante dans la compréhension du code et de la
logique liés au projet VBA lui-même

Encore Merci, et bonne soirée ;-))))))))))

--


Bien Cordialement

"Joël" <jo...@joelgarbe.fr> a écrit dans le message de news:
b817kv$lgr$1...@news-reader12.wanadoo.fr...

0 new messages