OVH Cloud OVH Cloud

Compatibilite VBA entre W97 et W2002

3 réponses
Avatar
Albert Bolle
Bonjour à tous,

Je me permets de soumettre le problème suivant à votre sagacité :

J'utilise depuis plusieurs années des procédures écrites en VBA intégrées
dans un "Normal.dot" partagé par plusieurs machines (Win98 / W97). Ces
procédures sont assez fréquemment modifiées à partir de l'une ou l'autre
machine, et elles deviennent ainsi immédiatement effectives pour l'ensemble
du groupe de travail.

Je viens d'installer une nouvelle machine (XP Pro / W2002) et j'ai tenté
d'utiliser les procédures en appelant le "Normal.dot" partagé. Les icones
apparaissent bien sur la barre d'outils et certaines fonctionnent
normalement (en réalité, celles qui ne font appel qu'à des commandes Word de
base). Pour les procédures écrites en VBA, je reçois le message "Erreur de
compilation dans le module caché :<nom du module>".

Dans l'éditeur VBA (Alt-F11), je peux voir le projet concerné, mais je n'y
ai aucun accès ("Projet verrouillé"), alors qu'il n'est pas verrouillé sous
W97.

J'ai évidemment toujours la possibilité de réécrire toutes mes procédures
sur la nouvelle machine (par un copier/coller du texte), mais je perdrai
alors l'avantage de n'avoir qu'une seule version commune à tout le groupe.

Merci par avance pour toute information ou suggestion à ce propos.
--
AB

3 réponses

Avatar
Anacoluthe
Bonjour !

'Albert Bolle' nous a écrit ...
Je me permets de soumettre le problème suivant à votre sagacité :
J'utilise depuis plusieurs années des procédures écrites en VBA intégrées
dans un "Normal.dot" partagé par plusieurs machines (Win98 / W97). Ces
procédures sont assez fréquemment modifiées à partir de l'une ou l'autre
machine, et elles deviennent ainsi immédiatement effectives pour l'ensemble
du groupe de travail.
Je viens d'installer une nouvelle machine (XP Pro / W2002) et j'ai tenté
d'utiliser les procédures en appelant le "Normal.dot" partagé. Les icones
apparaissent bien sur la barre d'outils et certaines fonctionnent
normalement (en réalité, celles qui ne font appel qu'à des commandes Word de
base). Pour les procédures écrites en VBA, je reçois le message "Erreur de
compilation dans le module caché :<nom du module>".


La plupart du temps ce type d'erreur n'a rien à voir avec une
incompatibilité dans /vos/ macros mais d'une incompatibilité
entre des compléments ou addins tels que le gros NAVet (Norton
AntiVirus) dont il faut désactiver le plugin Office et par
exemple pdfmaker.dot qui se trouve dans le répertoire de démarrage.

PS: Normal.dot partagé : ouille, on vous le déconseille !!!
Préférez un déploiement de Normal.dot ou de modèles globaux
en local sur chaque poste. Vous éviterez l'histoire de
l'éleveur d'escargots qui fut un jour mangé par eux.

Anacoluthe
« Aime la vérité, mais pardonne à l'erreur. »
- VOLTAIRE

--
A~ s'absente quelques jours : pardonnez-moi si je ne donne
pas de suite. Mes camarades contributeurs/trices prendront
le relais ;-) A+ tout le monde !

Avatar
Jean-Guy Marcil
Albert Bolle was telling us:
Albert Bolle nous racontait que :

Bonjour à tous,

Je me permets de soumettre le problème suivant à votre sagacité :

J'utilise depuis plusieurs années des procédures écrites en VBA
intégrées dans un "Normal.dot" partagé par plusieurs machines (Win98
/ W97). Ces procédures sont assez fréquemment modifiées à partir de
l'une ou l'autre machine, et elles deviennent ainsi immédiatement
effectives pour l'ensemble du groupe de travail.



À mon humble avis, ce n'est pas une bonne pratique. Le Normal.dot est conçu
pour être placé/utilisé dans le dossier "modèles utilisateur" et non le
dossier "modèle groupe de travail". La preuve, si on supprime tous ces deux
dossiers et on relance Word, Word va alors pointer vers le dossier modèles
utilisateurs par défaut et y créer un Normal.dot.

Le Normal.dot est conçu pour un usager à la fois. C'est vrai qu c'est
possible de la partager, mais à partir de ce moment, c'est la loi de
Murphy... Un accident qui attend de se produire, surtout si des versions
différentes de Word utilise tous le même Normal.dot, dans quel cas il est
fréquent que des problèmes de verrouillage se produisent. Tu peux l'arranger
pour que ça fonctionne en 2002, mais après il se peut fort bien que les gens
avec 97 aient le problème... Et là tu tournes en rond!

Ce que vous devriez faire est copier toutes ces macros dans un nouveau
document, l'enregristrer en tant que modèle. Ensuite, faire pointer chaque
utuilisteur vers un dossier local/ou personnel sur le réseau. Chacun aura
son Normal.dot à lui.
Ensuite, placer le modèle que vous venez de créer dans le dossier de
démarrage. Ici, tout le mondse peut pointer à la même place et le contenu
sera automatiquement disponible à tous. Une personne devrait être en charge
de le mettre à jour.

L'idéal est de faire pointer chaque utilisateur vers son propre dossier de
démarrge et d'avoir un script qui va mettre à jour le contenu de ce dossier
quand l'utilisateur se branche au réseau.
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org

Avatar
Albert Bolle
"Jean-Guy Marcil" a écrit dans le message de
news:
Albert Bolle was telling us:
Albert Bolle nous racontait que :

Bonjour à tous,

Je me permets de soumettre le problème suivant à votre sagacité :

J'utilise depuis plusieurs années des procédures écrites en VBA
intégrées dans un "Normal.dot" partagé par plusieurs machines (Win98
/ W97). Ces procédures sont assez fréquemment modifiées à partir de
l'une ou l'autre machine, et elles deviennent ainsi immédiatement
effectives pour l'ensemble du groupe de travail.



À mon humble avis, ce n'est pas une bonne pratique. Le Normal.dot est
conçu

pour être placé/utilisé dans le dossier "modèles utilisateur" et non le
dossier "modèle groupe de travail". La preuve, si on supprime tous ces
deux

dossiers et on relance Word, Word va alors pointer vers le dossier modèles
utilisateurs par défaut et y créer un Normal.dot.

Le Normal.dot est conçu pour un usager à la fois. C'est vrai qu c'est
possible de la partager, mais à partir de ce moment, c'est la loi de
Murphy... Un accident qui attend de se produire, surtout si des versions
différentes de Word utilise tous le même Normal.dot, dans quel cas il est
fréquent que des problèmes de verrouillage se produisent. Tu peux
l'arranger

pour que ça fonctionne en 2002, mais après il se peut fort bien que les
gens

avec 97 aient le problème... Et là tu tournes en rond!

Ce que vous devriez faire est copier toutes ces macros dans un nouveau
document, l'enregristrer en tant que modèle. Ensuite, faire pointer chaque
utuilisteur vers un dossier local/ou personnel sur le réseau. Chacun aura
son Normal.dot à lui.
Ensuite, placer le modèle que vous venez de créer dans le dossier de
démarrage. Ici, tout le mondse peut pointer à la même place et le contenu
sera automatiquement disponible à tous. Une personne devrait être en
charge

de le mettre à jour.

L'idéal est de faire pointer chaque utilisateur vers son propre dossier de
démarrge et d'avoir un script qui va mettre à jour le contenu de ce
dossier

quand l'utilisateur se branche au réseau.
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org



===================

Merci à tous pour vos explications et vos suggestions.
--
AB