Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Excel 2000] Pb enregistrement fichier

8 réponses
Avatar
Druuna
Bonjour à tous,

C'est mon tour de poser une question :)

Je développe une Macro sous Excel 2000 pour une Société.
J'ai protégé mon projet VBA par mot de passe et lorsque je veux faire un
"Enregistrer sous" du fichier Excel refuse en me disant de déprotéger mon
projet VBA !!
Snif
Etant donné que la protection est mise exprès, histoire de ne pas me faire
"piller" mon code (ou tout du moins pour retarder un minimum cette
éventualité ;) ...) ça me pose un "petit" problème... d'autant plus qu'avec
Excel 2003 le problème ne se pose pas...

Auriez-vous une solution géniale à me proposer (mis à part upgrader vers
Excel 2003 bien evidemment ;) !!)

Merci

Sophie-Druuna

8 réponses

Avatar
Druuna
Super je me réponds toute seule ;)
Nan je rigole !!

J'ai une autre question (qui est liée) à la première:

si j'utilise
Application.OnKey "%{F8}", ""
pour empecher l'acces à la fenetre VB (ouh la vilaine !!), il faut que je le
fasse une fois que mon projet est terminé et définitif I presume ? car je
ne pourrai plus y acceder moi non plus ...

Sophie



"Druuna" <druuna.x19(supprimerceci)@free.fr> a écrit dans le message de
news:
Bonjour à tous,

C'est mon tour de poser une question :)

Je développe une Macro sous Excel 2000 pour une Société.
J'ai protégé mon projet VBA par mot de passe et lorsque je veux faire un
"Enregistrer sous" du fichier Excel refuse en me disant de déprotéger mon
projet VBA !!
Snif
Etant donné que la protection est mise exprès, histoire de ne pas me faire
"piller" mon code (ou tout du moins pour retarder un minimum cette
éventualité ;) ...) ça me pose un "petit" problème... d'autant plus
qu'avec Excel 2003 le problème ne se pose pas...

Auriez-vous une solution géniale à me proposer (mis à part upgrader vers
Excel 2003 bien evidemment ;) !!)

Merci

Sophie-Druuna



Avatar
Frédéric Sigonneau
Sauf erreur de ma part, si tu désactives (ou tes utilisateurs) l'exécution des
macros (niveau de sécurité élevé par exemple), rien ne t'(les) empêchera
d'accéder à la fenêtre Visual Basic.
(Par ailleurs, le raccourci vers cette fenêtre est, me semble-t-il, Alt+F11 et
non Alt+F8).

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Druuna a écrit :
Super je me réponds toute seule ;)
Nan je rigole !!

J'ai une autre question (qui est liée) à la première:

si j'utilise
Application.OnKey "%{F8}", ""
pour empecher l'acces à la fenetre VB (ouh la vilaine !!), il faut que je le
fasse une fois que mon projet est terminé et définitif I presume ? car je
ne pourrai plus y acceder moi non plus ...

Sophie



"Druuna" <druuna.x19(supprimerceci)@free.fr> a écrit dans le message de
news:
Bonjour à tous,

C'est mon tour de poser une question :)

Je développe une Macro sous Excel 2000 pour une Société.
J'ai protégé mon projet VBA par mot de passe et lorsque je veux faire un
"Enregistrer sous" du fichier Excel refuse en me disant de déprotéger mon
projet VBA !!
Snif
Etant donné que la protection est mise exprès, histoire de ne pas me faire
"piller" mon code (ou tout du moins pour retarder un minimum cette
éventualité ;) ...) ça me pose un "petit" problème... d'autant plus
qu'avec Excel 2003 le problème ne se pose pas...

Auriez-vous une solution géniale à me proposer (mis à part upgrader vers
Excel 2003 bien evidemment ;) !!)

Merci

Sophie-Druuna







Avatar
Frédéric Sigonneau
J'ai gardé un Excel 2000 dans une machine virtuelle et je n'arrive pas à
reproduire ton problème... Un fichier (.xls) dont le VBAProject est protégé par
un mot de passe s'enregistre sans erreur ni demande de déprotection sous un
autre nom.
Il doit y avoir une autre raison à ce comportement.

FS
---
Frédéric Sigonneau
http://frederic.sigonneau.free.fr

Druuna a écrit :
Bonjour à tous,

C'est mon tour de poser une question :)

Je développe une Macro sous Excel 2000 pour une Société.
J'ai protégé mon projet VBA par mot de passe et lorsque je veux faire un
"Enregistrer sous" du fichier Excel refuse en me disant de déprotéger mon
projet VBA !!
Snif
Etant donné que la protection est mise exprès, histoire de ne pas me faire
"piller" mon code (ou tout du moins pour retarder un minimum cette
éventualité ;) ...) ça me pose un "petit" problème... d'autant plus qu'avec
Excel 2003 le problème ne se pose pas...

Auriez-vous une solution géniale à me proposer (mis à part upgrader vers
Excel 2003 bien evidemment ;) !!)

Merci

Sophie-Druuna




Avatar
Druuna
Help...

Sophie

"Druuna" <druuna.x19(supprimerceci)@free.fr> a écrit dans le message de
news:
Super je me réponds toute seule ;)
Nan je rigole !!

J'ai une autre question (qui est liée) à la première:

si j'utilise
Application.OnKey "%{F8}", ""
pour empecher l'acces à la fenetre VB (ouh la vilaine !!), il faut que je
le fasse une fois que mon projet est terminé et définitif I presume ? car
je ne pourrai plus y acceder moi non plus ...

Sophie



"Druuna" <druuna.x19(supprimerceci)@free.fr> a écrit dans le message de
news:
Bonjour à tous,

C'est mon tour de poser une question :)

Je développe une Macro sous Excel 2000 pour une Société.
J'ai protégé mon projet VBA par mot de passe et lorsque je veux faire un
"Enregistrer sous" du fichier Excel refuse en me disant de déprotéger mon
projet VBA !!
Snif
Etant donné que la protection est mise exprès, histoire de ne pas me
faire "piller" mon code (ou tout du moins pour retarder un minimum cette
éventualité ;) ...) ça me pose un "petit" problème... d'autant plus
qu'avec Excel 2003 le problème ne se pose pas...

Auriez-vous une solution géniale à me proposer (mis à part upgrader vers
Excel 2003 bien evidemment ;) !!)

Merci

Sophie-Druuna







Avatar
Druuna
Merci beaucoup pour cette réponse, je m'en vais la mettre en pratique dès
demain matin (là dodo...)
Pour répondre à ta question sur le message d'erreur:
Il ne demande pas de débuggage, il me demande juste de déprotéger mon projet
VBA pour faire "Enregistrer sous"...
Dès que le projet VBA n'est plus protégé l'"Enregistrer sous" fonctionne
parfaitement... et dans les 2 cas (VBA protégé ou non) mes macros
fonctionnent "impec"... c'est là qu'est l'os comme on dit ;)
Dès que mes essais sont finis je te fais un retour :)
Encore merci beaucoup

Sophie



"michdenis" a écrit dans le message de news:
u%23$
Tu as probablement une erreur dans ton code, c'est ce pourquoi Excel
te demande d'ouvrir (déprotéger ton code) car il ne peut pas t'emmener
directement à la ligne où le code est problématique à cause de la
protection.

Entre Excel 2000 et Excel 2003, la compatibilité du code n'est pas
complète.
Certaines méthodes ont des paramètres en excel 2003 que n'a pas Excel
2000.
Avec ces paramètres, excel 2003 fonctionnent très bien mais excel 2000 est
incapable de les exécuter..

En fait, ton message, Est-ce une demande de "débuggage" ?

As-tu essayé de déprotéger ton programme et d'exécuter les mêmes
manoeuvres qui te méritent ce message lorsque ce dernier est protégé ?


Et pour le plaisir, si tu désires désactiver la possibilité pour l'usager
d'ouvrir la fenêtre VBA, je te propose ceci :
(cependant, si ton code plante, si ce denier n'est pas protégé, excel
en demandant à l'usager si il désire "débugger" l'erreur, excel va ouvrir
de lui-même la fenêtre...

DANS LE THISWORKBOOK DE TON CLASSEUR,

Private Sub Workbook_Activate()
InterdireFenêtreVBE
End Sub

Private Sub Workbook_Deactivate()
OuvrirFenêtreVBE
End Sub


DANS UN MODULE STANDARD,
============================================== > Sub InterdireFenêtreVBE()

With Application
.OnKey "%{F11}", ""
.OnKey "%{F8}", ""
End With

For Each ctrl In Application.CommandBars.FindControls(ID:4)
ctrl.Enabled = False
ctrl.Visible = False
ctrl.OnAction = "Rien"
Next

For Each ctrl In Application.CommandBars.FindControls(ID:6)
ctrl.Enabled = False
ctrl.Visible = False
ctrl.OnAction = "Rien"
Next
For Each ctrl In Application.CommandBars.FindControls(ID:95)
ctrl.Enabled = False
ctrl.Visible = False
ctrl.OnAction = "Rien"
Next
For Each ctrl In Application.CommandBars.FindControls(ID:61)
ctrl.Enabled = False
ctrl.Visible = False
ctrl.OnAction = "Rien"
Next
End Sub

Sub OuvrirFenêtreVBE()

With Application
.OnKey "%{F11}"
.OnKey "%{F8}"
End With

For Each ctrl In Application.CommandBars.FindControls(ID:4)
ctrl.Enabled = True
ctrl.Visible = True
ctrl.OnAction = ""
Next

For Each ctrl In Application.CommandBars.FindControls(ID:6)
ctrl.Enabled = True
ctrl.Visible = True
ctrl.OnAction = ""
Next
For Each ctrl In Application.CommandBars.FindControls(ID:95)
ctrl.Enabled = True
ctrl.Visible = True
ctrl.OnAction = ""
Next

For Each ctrl In Application.CommandBars.FindControls(ID:61)
ctrl.Enabled = True
ctrl.Visible = True
ctrl.OnAction = ""
Next
End Sub

Sub Rien()

End Sub
============================================== >
P.S- Si l'usager décide de ne pas activer les macros, il pourra toujours
à ce moment là avoir recours aux commandes usuelles.








Avatar
michdenis
| Dès que le projet VBA n'est plus protégé l'"Enregistrer sous" fonctionne
| parfaitement... et dans les 2 cas (VBA protégé ou non) mes macros
| fonctionnent "impec"... c'est là qu'est l'os comme on dit ;)

Est-ce que tu utilises dans ton code, cette ligne :
"ON ERROR RESUME NEXT"

Si oui, le temps de faire quelques tests sur la version Excel 2000,
il faudrait la neutraliser afin te t'assurer que l'utilisation de cette
ligne de code ne cache pas des "erreurs" (incompatibilités dont
je parlais dans mon message précédent) insoupçonnées

As-tu aussi pensé à ré-intialer la barre des menus de la feuille
de calcul et ta barre d'outils standard. Cela se fait en ouvrant
la fenêtre "peronnaliser". (menu Affichage / Personnaliser)
Avatar
Druuna
Bonjour,

De nouveau un grand merci pour la protection, ça marche très très bien :)

Par contre, j'ai bien ausculté mon code et je n'ai pas la ligne "ON ERROR
RESUME NEXT", je ne comprends donc toujours pas pourquoi ça "foire" mais bon
avec la Private Sub que tu m'as donnée ça ira pour l'instant ;)
J'ai mis mon fichier sur Cjoint si tu veux (des fois que tu serais un adepte
de la capillo-traction comme moi ;))
http://cjoint.com/?hnr2NEugwK

Encore merci beaucoup

Sophie


"michdenis" a écrit dans le message de news:
e$
| Dès que le projet VBA n'est plus protégé l'"Enregistrer sous" fonctionne
| parfaitement... et dans les 2 cas (VBA protégé ou non) mes macros
| fonctionnent "impec"... c'est là qu'est l'os comme on dit ;)

Est-ce que tu utilises dans ton code, cette ligne :
"ON ERROR RESUME NEXT"

Si oui, le temps de faire quelques tests sur la version Excel 2000,
il faudrait la neutraliser afin te t'assurer que l'utilisation de cette
ligne de code ne cache pas des "erreurs" (incompatibilités dont
je parlais dans mon message précédent) insoupçonnées

As-tu aussi pensé à ré-intialer la barre des menus de la feuille
de calcul et ta barre d'outils standard. Cela se fait en ouvrant
la fenêtre "peronnaliser". (menu Affichage / Personnaliser)


Avatar
Druuna
Petite correction: j'ai trouvé la cause de mon problème d'enregistrement !!!
Je n'avais pas vu qu'Excel me proposait par défaut d'"Enregistrer sous" avec
comme type de fichier "Classeur Microsoft Excel 97-200 &5.0/95 (*.xls)" au
lieu de "Classeur Microsoft Excel (*.xls)"...Je ne sais pas pourquoi mais
bon c'est résolu, c'est le principal :)
Et ça rejoint donc bien le problème de compatibilité dont tu me parlais

Sophie

"michdenis" a écrit dans le message de news:
e$
| Dès que le projet VBA n'est plus protégé l'"Enregistrer sous" fonctionne
| parfaitement... et dans les 2 cas (VBA protégé ou non) mes macros
| fonctionnent "impec"... c'est là qu'est l'os comme on dit ;)

Est-ce que tu utilises dans ton code, cette ligne :
"ON ERROR RESUME NEXT"

Si oui, le temps de faire quelques tests sur la version Excel 2000,
il faudrait la neutraliser afin te t'assurer que l'utilisation de cette
ligne de code ne cache pas des "erreurs" (incompatibilités dont
je parlais dans mon message précédent) insoupçonnées

As-tu aussi pensé à ré-intialer la barre des menus de la feuille
de calcul et ta barre d'outils standard. Cela se fait en ouvrant
la fenêtre "peronnaliser". (menu Affichage / Personnaliser)