Compatibilité VBA entre Excel 97 et XP

  • Initiateur de la discussion Jean-Jacques
  • Date de début
J

Jean-Jacques

Guest
Bonjour tout le monde.

Les retours de congés sont toujours un peu laborieux. J'espère qu'ils se sont bien passés pour vous, et que le retour s'est fait sans encombres.

Avant les vacances, j'avais développé sous Excel 97 (au bureau) une petite application qui marchait très bien, et que j'ai voulu "améliorer" chez moi (Excel de Office XP) pendant les congés (eh oui, quand on aime...), histoire de relooker certains UserForms et rajouter deux ou trois boutons ou contrôles avec les macros associées...

Hélas, cette nouvelle version, réimplantée sur ma machine au bureau (donc sous Excel 97), ne fonctionne plus et bogue sans arrêt, par exemple sur des fonctions hyper standard comme 'Left(Variable,2)', ou parce qu'une variable n'a pas été déclarée, etc...
Dans le menu 'Outil-Références' de VBA, j'ai une ligne 'MANQUANT' et je n'arrive pas à résoudre ce problème...

Pourtant, certaines petites macros de cette version (enregistrée sous Office XP donc), fonctionnent toujours...

Existe-t-il un moyen de :
1) soit convertir ce fichier (ou que les modules) pour qu'il soit utilisable par Excel 97,
2) soit de résoudre le problème 'Erreur de compilation, Projet ou bibliothèque introuvable'...

Mes cellules grises butent la dessus depuis mon retour de congés et je sens qu'un fusible va péter...

Merci d'avance à celui, celle ou ceux qui me permettraient d'éviter un noircissement prématuré de mes neurones !

Cordialement à tou (te) s,

Jean-Jacques
 
P

Petchy

Guest
bonjour Jean-Jacques et le forum

j'ai eu le meme probleme que toi,j'ai fait mon appli chez moi sous excel 2003 et quand je l'ai envoyé au bureau sous excel 2000 j'ai eu pleins de probleme de format, de variables,.........,Dans le menu 'Outil-Références' de VBA, j'avais une ligne 'MANQUANT' je l'ai décoché et je n'ait plus eu se probleme.
@ plus
petchy
 
J

Jean-Jacques

Guest
Bonjour Petchy, le forum,

Merci d'avoir pris le temps de me répondre.

J'ai bien essayé de décocher devant 'MANQUANT', mais il m'est répondu que l'application est utilisée....

As-tu une idée de ce qui se passe ?
Merci d'avance.

Jean-Jacques
 
J

Jean-Jacques

Guest
Bonjour Ti, le forum,
Merci à tous de vous pencher sur le problème.

D'abord à Petchy :
Je comprends bien ce que tu me demandes de faire, mais quand j'essaie de décocher devant "MANQUANT", j'ai le message "Impossible de supprimer le contrôle ou la référence; en cours d'utilisation"... et l'aide indique qu'un contrôle ActiveX est utilisé par une feuille du projet.

Pour Ti :
Le message apparaît dans la macro appelée à l'exécution de la ligne de code : "Date_Periode = Left(Periode_Import, 2) & "/" &...etc ..." avec Public Date_Periode, Periode_Import as String au début du module.
D'ailleurs, avec les autres traitements de chaînes, j'ai le même message.

L'aide intégrée sur le sujet ne m'a pas beaucoup éclairé...
Avez-vous une idée ?

Merci d'avance

Jean-Jacques
 
T

Ti

Guest
tu vas dans l'éditeur VBA, menu Outils...Références, et là tu regardes quelle est la référence qui est marquée manquante, tu la décoches, et tu la recoches. en général, ça suffit pour que ça reparte.

Si la référence (qui sera alors une référence bien particulière, peu usitée, peut-être même pas utilisée dans le fichier) est toujours marquée comme manquante, tu devras la retrouver dans la liste des références, mais sous un autre numéro de version. En général tu n'as pas besoin de faire cette démarche.
 
J

Jean-Jacques

Guest
Merci Ti,

C'est ce que j'ai fait (ce qu'avait suggéré Petchy), mais la décoche n'est pas autorisée : "Impossible de supprimer et..."

L'info en dessous n'est pas très explicite :
Chemin d'accès :C:\WINDOWS\BUREAU\
Langue :Standard

Il n'y a aucune référence "exotique" dans le code, d'autant que la macro qui coince fonctionnait parfaitement AVANT que je bidouille d'autres parties du module (et pas cette macro-là) en utilisant une version ultérieure d'Excel... et l'enregistrement à partir d'Office XP sous une version précédente n'a pas résolu le problème. Je suis déséspéré...

Je sens que je vais me retaper tout ça à la mimine au bureau en comptant des heures sup...

Cordialement
Jean-Jacques
 
J

Jean-Jacques

Guest
Bonjour Petchy, Ti, le Forum,

J'avais peur d'avoir à réécrire tout le code...
Finalement, j'ai résolu le problème en effaçant tout le code du module incriminé, avec suppression des liens boutons-macros, enregistrement, exit, redémarrage de Windows, réouverture et... réinsertion macro par macro du code source avec rétablissement des liens. Et là, ça marche...
Va comprendre, Charles....

Merci beaucoup à tous ceux qui se sont penché sur ce problème. Si vous rencontrez ce cas-là, essayez cette méthode... Chez moi, ça fonctionne.

Reste une question : "Bill, pourquoi ?"

Cordialement,
Jean-Jacques
 
T

Ti

Guest
oui, c'est ce que je voulais te proposer si ma solution ne marchait pas : copier les macros dans un autre fichier et refaire un fichier tout neuf.

On répugne toujours à le faire, mais c'est souvent la solution la plus rapide.

Personnellement, quand j'écris un nouveau programme que j'ai longuement "trituré", je procède toujours ainsi avant sa diffusion pour éviter les mauvaises surprises.
 
J

Jean-Jacques

Guest
Salut Ti, Re-bonjour le Forum

Tu as dû le penser tellement fort que j'ai anticipé !
En tout cas, je m'aperçois qu'à votre contact et à la lecture des posts, je progresse infiniment plus vite qu'avec des heures de stage... !!!

Merci à tous pour vos conseils.

Jean-Jacques
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA