Bonjour,
Merci à tous ce qui liront ce message.
Je rencontre le problème suivant :
Un fichier Excel possède une dizaine de modules VB.
Une procédure supprime les modules existants et en charge d'autres mis à jour.
Cela est fait par les méthodes :
ThisWorkbook.VBProject.VBComponents.Remove "Nom_du_module" 'supprime l'ancien module
Puis
ThisWorkbook.VBProject.VBComponents.Import "Nom_du_fichier" 'Import le module mis à jour
Le problème : certaines fois, une erreur de compilation : "Nom ambigu détecté" apparait. En cherchant, j'ai remarqué que l'ancien module n'était pas supprimé avant l'import du nouveau. Et c'est la présence des 2 modules en même temps avec une même déclaration de "Enum" qui pose problème.
J'en conclus que le problème vient du fait : l’exécution du Remove est effective après l'import (malgré le fait que l'instruction remove soit avant l'instruction l'import.)
De plus, la procédure de "mise à jour" est lancé à chaque ouverture de fichier.
J'ai remarqué également que cela se produisait à chaque ouverture de fichier si le fichier n'était pas enregistré entre temps. S'il était enregistré au moins une fois, le problème disparait puis réapparait plusieurs enregistrement plus tard.
Quelqu'un aurait une solution ?
Partager