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

VBproject protégé et sauvegarde 97-2003

4 réponses
Avatar
M41
Bonjour

VBproject est protégé par un code d'accès et le classeur/programme écrit sur
une version 2003 a été sauvegardée comme valide pour les versions 97 à
03.... Cette sauvegarde a été effectuée juste après avoir créé le code
d'accès.

A la réouverture de ce programme je n'ai aucun soucis ; il reste aussi
parfaitement fonctionnel.

Lors de la sauvegarde, après utilisation avec Excel 2003, sous forme 97 à
03, Excel me demande de déverrouiller VBproject pour effectuer cette
nouvelle sauvegarde.

Existe t'il une méthode pour effectuer ces sauvegardes sans déverrouiller
VBproject ?

Cordialement

M41

4 réponses

Avatar
michdenis
Bonjour,

Je ne suis pas certain d'avoir suivi ton cheminement de ton explication.

En théorie et en pratique, il n'est pas nécessaire de déverrouiller le
projetVBA pour enregistrer le fichier.

a ) Est-ce que tu as dans ce fichier une procédure qui tente de modifier le
code contenu dans le projetVBA ? Si oui, cela ne peut pas s'effectuer
si le projetVBA est verrouillé.

b) Est-ce possible que le code génère une erreur lorsque ce dernier est ouvert
dans une ancienne version ? Il arrive que d'une version d'Excel à l'autre, il y a
des paramètres d'une même méthode soient légèrement différentes... suffisamment
pour générer une erreur. Lorsque le projetVBA n'est pas protégé, Excel nous
amène directement à la ligne de code fautive... lorsque le projetVBA est protégé,
il ne peut pas... et il essaie de communiquer l'information d'une autre manière dans
un message....

c) Que se passe-t-il si tu effectues les mêmes manipulations, mais que ton projetvba
est non protégé ? As-tu la même impossibilité ? Le même message ?

d) tu peux utiliser le site internet cijoint.fr pour publier ton fichier (indiquant le mot
de passe) en prenant soin de faire disparaître toute information sensible.



"M41" a écrit dans le message de groupe de discussion :
4bafd645$0$15811$
Bonjour

VBproject est protégé par un code d'accès et le classeur/programme écrit sur
une version 2003 a été sauvegardée comme valide pour les versions 97 à
03.... Cette sauvegarde a été effectuée juste après avoir créé le code
d'accès.

A la réouverture de ce programme je n'ai aucun soucis ; il reste aussi
parfaitement fonctionnel.

Lors de la sauvegarde, après utilisation avec Excel 2003, sous forme 97 à
03, Excel me demande de déverrouiller VBproject pour effectuer cette
nouvelle sauvegarde.

Existe t'il une méthode pour effectuer ces sauvegardes sans déverrouiller
VBproject ?

Cordialement

M41
Avatar
M41
Bonsoir

Pour simplifier.
J'ai fait une expérience sur ma machine équipée d'une version Excel 2002 :

---
Nouveau classeur vierge
création d'un module1
écriture d'un programme :
Sub X ()
debug.Print "TOTO"
exit Sub
fermeture du descriptif du programme VBA et des feuilles (+)
création d'un code de protection "X" pour VBA
retour feuille 1
sauvegarde Classeur1.xls sous forme compatible "97 à 2002 & 5/95"
fermeture
---
réouverture de Classeur1.xls sans problème
nouvelle sauvegarde Classeur1.xls sous forme compatible "97 à 2002 & 5/95"
Message d'erreur indiquant que la sauvegarde est impossible !
---
ouverture du code avec "X"
sauvegarde sans problème
fermeture de Classeur1.xls
----
réouverture sans problème
le code VBA est toujours verrouillé (je n'avais pas décoché le verrouillage
de l'affichage dans VBproject)
je ne ferme pas le descriptif du programme (feuilles et module1)
Je sauvegarde sous forme 97 à 2002 & 5/895
Je ferme tout et j'ouvre à nouveau
Pas de blocage.

En conclusion :
Il n'y a pas de blocage :
- si on sauvegarde sous la forme "97 à 2002 & 5/95" sans verrouiller
VBproject par un code
- ou si on laisse visible le descriptif feuilles - modules en créant un
code (qui sert à rien dans ce cas là !)
- ou si on verrouille VBproject par un code la première fois puis sauvegarde
sous la forme "97 à 2002 & 5/95" dans la foulée

Donc :
La première sauvegarde suivant la manipulation de verrouillage peut être
faite sous forme "97 à 2003 & 5/95"
mais la sauvegarde suivante sans déverrouillage du code devra être faite
dans le format de l'application Excel utilisée :
ici 2002 ou 2003 (de toute façon celà ne pourrait être que 2000 à 2003 suite
aux instructions VBA utilisées)

Il existe donc une restriction à l'utilisation de la sauvegarde sous la
forme "97 à 2002 & 5/95" !
Même si on se limite à un usage 2000 à 2003.

Cordialement

M41



"michdenis" a écrit dans le message de news:

Bonjour,

Je ne suis pas certain d'avoir suivi ton cheminement de ton explication.

En théorie et en pratique, il n'est pas nécessaire de déverrouiller le
projetVBA pour enregistrer le fichier.

a ) Est-ce que tu as dans ce fichier une procédure qui tente de modifier
le
code contenu dans le projetVBA ? Si oui, cela ne peut pas s'effectuer
si le projetVBA est verrouillé.

b) Est-ce possible que le code génère une erreur lorsque ce dernier est
ouvert
dans une ancienne version ? Il arrive que d'une version d'Excel à l'autre,
il y a
des paramètres d'une même méthode soient légèrement différentes...
suffisamment
pour générer une erreur. Lorsque le projetVBA n'est pas protégé, Excel
nous
amène directement à la ligne de code fautive... lorsque le projetVBA est
protégé,
il ne peut pas... et il essaie de communiquer l'information d'une autre
manière dans
un message....

c) Que se passe-t-il si tu effectues les mêmes manipulations, mais que ton
projetvba
est non protégé ? As-tu la même impossibilité ? Le même message ?

d) tu peux utiliser le site internet cijoint.fr pour publier ton fichier
(indiquant le mot
de passe) en prenant soin de faire disparaître toute information sensible.



"M41" a écrit dans le message de groupe de
discussion :
4bafd645$0$15811$
Bonjour

VBproject est protégé par un code d'accès et le classeur/programme écrit
sur
une version 2003 a été sauvegardée comme valide pour les versions 97 à
03.... Cette sauvegarde a été effectuée juste après avoir créé le code
d'accès.

A la réouverture de ce programme je n'ai aucun soucis ; il reste aussi
parfaitement fonctionnel.

Lors de la sauvegarde, après utilisation avec Excel 2003, sous forme 97 à
03, Excel me demande de déverrouiller VBproject pour effectuer cette
nouvelle sauvegarde.

Existe t'il une méthode pour effectuer ces sauvegardes sans déverrouiller
VBproject ?

Cordialement

M41

Avatar
michdenis
Si ce classeur doit être utilisé à partir de la version Excel 2000
déverrouille ton projetVBA, et sur un ordi possédant la version
Excel 2000 enregistre ton fichier sous un nouveau nom en utilisant
le type de classeur : "Classeur Microsoft Office Excel (*.xls)

Et dans un deuxième temps, verrouille ton projetVBA et tu sauvegardes.

Je crois me souvenir qu'il y a un problème de cryptage du mot de passe
entre la version 1997 et les autres versions d'Excel.

À titre indicatif, les feuilles macro xl95 ne sont plus supportées par Excel 2007.



"M41" a écrit dans le message de groupe de discussion :
4bb0f76d$0$15832$
Bonsoir

Pour simplifier.
J'ai fait une expérience sur ma machine équipée d'une version Excel 2002 :

---
Nouveau classeur vierge
création d'un module1
écriture d'un programme :
Sub X ()
debug.Print "TOTO"
exit Sub
fermeture du descriptif du programme VBA et des feuilles (+)
création d'un code de protection "X" pour VBA
retour feuille 1
sauvegarde Classeur1.xls sous forme compatible "97 à 2002 & 5/95"
fermeture
---
réouverture de Classeur1.xls sans problème
nouvelle sauvegarde Classeur1.xls sous forme compatible "97 à 2002 & 5/95"
Message d'erreur indiquant que la sauvegarde est impossible !
---
ouverture du code avec "X"
sauvegarde sans problème
fermeture de Classeur1.xls
----
réouverture sans problème
le code VBA est toujours verrouillé (je n'avais pas décoché le verrouillage
de l'affichage dans VBproject)
je ne ferme pas le descriptif du programme (feuilles et module1)
Je sauvegarde sous forme 97 à 2002 & 5/895
Je ferme tout et j'ouvre à nouveau
Pas de blocage.

En conclusion :
Il n'y a pas de blocage :
- si on sauvegarde sous la forme "97 à 2002 & 5/95" sans verrouiller
VBproject par un code
- ou si on laisse visible le descriptif feuilles - modules en créant un
code (qui sert à rien dans ce cas là !)
- ou si on verrouille VBproject par un code la première fois puis sauvegarde
sous la forme "97 à 2002 & 5/95" dans la foulée

Donc :
La première sauvegarde suivant la manipulation de verrouillage peut être
faite sous forme "97 à 2003 & 5/95"
mais la sauvegarde suivante sans déverrouillage du code devra être faite
dans le format de l'application Excel utilisée :
ici 2002 ou 2003 (de toute façon celà ne pourrait être que 2000 à 2003 suite
aux instructions VBA utilisées)

Il existe donc une restriction à l'utilisation de la sauvegarde sous la
forme "97 à 2002 & 5/95" !
Même si on se limite à un usage 2000 à 2003.

Cordialement

M41



"michdenis" a écrit dans le message de news:

Bonjour,

Je ne suis pas certain d'avoir suivi ton cheminement de ton explication.

En théorie et en pratique, il n'est pas nécessaire de déverrouiller le
projetVBA pour enregistrer le fichier.

a ) Est-ce que tu as dans ce fichier une procédure qui tente de modifier
le
code contenu dans le projetVBA ? Si oui, cela ne peut pas s'effectuer
si le projetVBA est verrouillé.

b) Est-ce possible que le code génère une erreur lorsque ce dernier est
ouvert
dans une ancienne version ? Il arrive que d'une version d'Excel à l'autre,
il y a
des paramètres d'une même méthode soient légèrement différentes...
suffisamment
pour générer une erreur. Lorsque le projetVBA n'est pas protégé, Excel
nous
amène directement à la ligne de code fautive... lorsque le projetVBA est
protégé,
il ne peut pas... et il essaie de communiquer l'information d'une autre
manière dans
un message....

c) Que se passe-t-il si tu effectues les mêmes manipulations, mais que ton
projetvba
est non protégé ? As-tu la même impossibilité ? Le même message ?

d) tu peux utiliser le site internet cijoint.fr pour publier ton fichier
(indiquant le mot
de passe) en prenant soin de faire disparaître toute information sensible.



"M41" a écrit dans le message de groupe de
discussion :
4bafd645$0$15811$
Bonjour

VBproject est protégé par un code d'accès et le classeur/programme écrit
sur
une version 2003 a été sauvegardée comme valide pour les versions 97 à
03.... Cette sauvegarde a été effectuée juste après avoir créé le code
d'accès.

A la réouverture de ce programme je n'ai aucun soucis ; il reste aussi
parfaitement fonctionnel.

Lors de la sauvegarde, après utilisation avec Excel 2003, sous forme 97 à
03, Excel me demande de déverrouiller VBproject pour effectuer cette
nouvelle sauvegarde.

Existe t'il une méthode pour effectuer ces sauvegardes sans déverrouiller
VBproject ?

Cordialement

M41

Avatar
M41
Bonjour

Effectivement je pense que c'est le caractère trop large de la sauvegarde
(de 97 à 2003 & ...) qui est à l'origine du problème.

La solution pourrait aussi être d'utiliser un programme commercial de
compilation d'Excel en .exe très protégé qui semble compatible 97-2007 ;
mais j'ai dèjà une version 97-2003 que je n'utilise finalement pas parceque
la récupération et les échanges de données avec Office sont un boulet (cette
méthode se veut trop protectrice sur certains points). Snif !

Cordialement

M41


"michdenis" a écrit dans le message de news:

Si ce classeur doit être utilisé à partir de la version Excel 2000
déverrouille ton projetVBA, et sur un ordi possédant la version
Excel 2000 enregistre ton fichier sous un nouveau nom en utilisant
le type de classeur : "Classeur Microsoft Office Excel (*.xls)

Et dans un deuxième temps, verrouille ton projetVBA et tu sauvegardes.

Je crois me souvenir qu'il y a un problème de cryptage du mot de passe
entre la version 1997 et les autres versions d'Excel.

À titre indicatif, les feuilles macro xl95 ne sont plus supportées par
Excel 2007.



"M41" a écrit dans le message de groupe de
discussion :
4bb0f76d$0$15832$
Bonsoir

Pour simplifier.
J'ai fait une expérience sur ma machine équipée d'une version Excel 2002 :

---
Nouveau classeur vierge
création d'un module1
écriture d'un programme :
Sub X ()
debug.Print "TOTO"
exit Sub
fermeture du descriptif du programme VBA et des feuilles (+)
création d'un code de protection "X" pour VBA
retour feuille 1
sauvegarde Classeur1.xls sous forme compatible "97 à 2002 & 5/95"
fermeture
---
réouverture de Classeur1.xls sans problème
nouvelle sauvegarde Classeur1.xls sous forme compatible "97 à 2002 & 5/95"
Message d'erreur indiquant que la sauvegarde est impossible !
---
ouverture du code avec "X"
sauvegarde sans problème
fermeture de Classeur1.xls
----
réouverture sans problème
le code VBA est toujours verrouillé (je n'avais pas décoché le
verrouillage
de l'affichage dans VBproject)
je ne ferme pas le descriptif du programme (feuilles et module1)
Je sauvegarde sous forme 97 à 2002 & 5/895
Je ferme tout et j'ouvre à nouveau
Pas de blocage.

En conclusion :
Il n'y a pas de blocage :
- si on sauvegarde sous la forme "97 à 2002 & 5/95" sans verrouiller
VBproject par un code
- ou si on laisse visible le descriptif feuilles - modules en créant un
code (qui sert à rien dans ce cas là !)
- ou si on verrouille VBproject par un code la première fois puis
sauvegarde
sous la forme "97 à 2002 & 5/95" dans la foulée

Donc :
La première sauvegarde suivant la manipulation de verrouillage peut être
faite sous forme "97 à 2003 & 5/95"
mais la sauvegarde suivante sans déverrouillage du code devra être faite
dans le format de l'application Excel utilisée :
ici 2002 ou 2003 (de toute façon celà ne pourrait être que 2000 à 2003
suite
aux instructions VBA utilisées)

Il existe donc une restriction à l'utilisation de la sauvegarde sous la
forme "97 à 2002 & 5/95" !
Même si on se limite à un usage 2000 à 2003.

Cordialement

M41



"michdenis" a écrit dans le message de news:

Bonjour,

Je ne suis pas certain d'avoir suivi ton cheminement de ton explication.

En théorie et en pratique, il n'est pas nécessaire de déverrouiller le
projetVBA pour enregistrer le fichier.

a ) Est-ce que tu as dans ce fichier une procédure qui tente de modifier
le
code contenu dans le projetVBA ? Si oui, cela ne peut pas s'effectuer
si le projetVBA est verrouillé.

b) Est-ce possible que le code génère une erreur lorsque ce dernier est
ouvert
dans une ancienne version ? Il arrive que d'une version d'Excel à
l'autre,
il y a
des paramètres d'une même méthode soient légèrement différentes...
suffisamment
pour générer une erreur. Lorsque le projetVBA n'est pas protégé, Excel
nous
amène directement à la ligne de code fautive... lorsque le projetVBA est
protégé,
il ne peut pas... et il essaie de communiquer l'information d'une autre
manière dans
un message....

c) Que se passe-t-il si tu effectues les mêmes manipulations, mais que
ton
projetvba
est non protégé ? As-tu la même impossibilité ? Le même message ?

d) tu peux utiliser le site internet cijoint.fr pour publier ton fichier
(indiquant le mot
de passe) en prenant soin de faire disparaître toute information
sensible.



"M41" a écrit dans le message de groupe de
discussion :
4bafd645$0$15811$
Bonjour

VBproject est protégé par un code d'accès et le classeur/programme écrit
sur
une version 2003 a été sauvegardée comme valide pour les versions 97 à
03.... Cette sauvegarde a été effectuée juste après avoir créé le code
d'accès.

A la réouverture de ce programme je n'ai aucun soucis ; il reste aussi
parfaitement fonctionnel.

Lors de la sauvegarde, après utilisation avec Excel 2003, sous forme 97 à
03, Excel me demande de déverrouiller VBproject pour effectuer cette
nouvelle sauvegarde.

Existe t'il une méthode pour effectuer ces sauvegardes sans déverrouiller
VBproject ?

Cordialement

M41