Pier3d
XLDnaute Nouveau
Bonjour à tous,
Après la mort de mon disque C:, j'ai dû reconstruire mon ordinateur qui avait 8 ans. Nouveau C: en SSD, nouvelle carte-mère, processeur I5, mémoire (16 Go.), nouveau Windows 10 et nouveau Office 365. Avant j'avais le Windows 10 donné en 2016 par Microsoft et un Office 2007, datant de 2007.
J'ai beaucoup de macros, surtout dans Excel et aussi dans Word. La plupart ont repris du service sans ronchonner.
Si je viens ici c'est pour une macro ou le problème semble plus grave. En fait c'est une suite de procédures qui commence avec l'ouverture d'un formulaire que j'ai fait avec l'éditeur de UserForms de VBA. La première de ces procédures ne contient qu'une seule ligne qui lance le formulaire : F1.Show
Donc le programme débute avec cette procédure qui s'appelle UserForm_Activate(). Et ça bloque en partant. On dirait que VBA ne sait plus où se trouvent les autres procédures qui sont appelées. Pourtant, je le répète, ça fonctionnait parfaitement avant et, cela, depuis 10 ans.
Si j'ajoute le nom du module où se trouve la procédure, ça fonctionne. Par exemple, pour la procédure ' FaitCeci ' qui est dans le module ' Action ', VBA ignore FaitCeci mais comprend et exécute Action.FaitCeci.
Comme c'est un très long programme avec beaucoup d'appels à différentes procédures, ajouter le nom des modules partout serait une tâche longue et fastidieuse. J'espère donc avoir une réponse d'experts avant d'aller plus loin.
Merci d'avance,
Pierre Cloutier
---
Après la mort de mon disque C:, j'ai dû reconstruire mon ordinateur qui avait 8 ans. Nouveau C: en SSD, nouvelle carte-mère, processeur I5, mémoire (16 Go.), nouveau Windows 10 et nouveau Office 365. Avant j'avais le Windows 10 donné en 2016 par Microsoft et un Office 2007, datant de 2007.
J'ai beaucoup de macros, surtout dans Excel et aussi dans Word. La plupart ont repris du service sans ronchonner.
Si je viens ici c'est pour une macro ou le problème semble plus grave. En fait c'est une suite de procédures qui commence avec l'ouverture d'un formulaire que j'ai fait avec l'éditeur de UserForms de VBA. La première de ces procédures ne contient qu'une seule ligne qui lance le formulaire : F1.Show
Donc le programme débute avec cette procédure qui s'appelle UserForm_Activate(). Et ça bloque en partant. On dirait que VBA ne sait plus où se trouvent les autres procédures qui sont appelées. Pourtant, je le répète, ça fonctionnait parfaitement avant et, cela, depuis 10 ans.
Si j'ajoute le nom du module où se trouve la procédure, ça fonctionne. Par exemple, pour la procédure ' FaitCeci ' qui est dans le module ' Action ', VBA ignore FaitCeci mais comprend et exécute Action.FaitCeci.
Comme c'est un très long programme avec beaucoup d'appels à différentes procédures, ajouter le nom des modules partout serait une tâche longue et fastidieuse. J'espère donc avoir une réponse d'experts avant d'aller plus loin.
Merci d'avance,
Pierre Cloutier
---