Mise à jour module VBA : probleme urgent

C

christine

Guest
Dans mon application excel, j'ai besoin de modifier des données dans mes modules.
J'utilise la procédure suivante :

Sub ReplaceModule()

' Exporter le module de ce classeur
Filename = ThisWorkbook.Path & "\tempmodxxx.bas"
ThisWorkbook.VBProject.VBComponents("W_VERSION_MAJ") _
.Export Filename

' Remplacer le module dans le classeur de destination
Set VBP = ActiveWorkbook.VBProject
On Error GoTo ErrHandle
With VBP.VBComponents
.Remove VBP.VBComponents("W_VERSION_MAJ")
.Import Filename
End With

Kill Filename

Windows(Filename1).Activate

Workbooks("MAJ MODULE AVANCEMENTS TRAVAUX.xls").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Close
Exit Sub

ErrHandle:

MsgBox " IL Y A EU UN PROBLEME LA MAJ DE TOUS LES MODULES N'A PAS ETE REALISEE", vbCritical, "MAJ MODULE"
Windows(Filename1).Activate
Workbooks("MAJ MODULE AVANCEMENTS TRAVAUX.xls").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub
--------------------------------------------------------

La mise à jour se passe généralement bien, mais parfois le module "W_VERSION_MAJ" est renommé "W_VERSION_MAJ1" et je ne sais pas pourquoi ? Par conséquent, je ne peux pas relancer ma procédure de mise à jour !

Est ce que quelqu'un sait pourquoi le nom du module du classeur qui est mis à jour est modifier ?
Comment est ce que je peux régler ce problème ?

Et comment faites vous pour mettre à jour des modules dans vos applications ? cela m'interresse, car je ne sais pas si j'ai la bonne méthode ?

Est il possible d'ajouter des modules, pour le moment je n'ai que le code vba pour les remplacer ?

Je compte sur vous, car cela me bloque beaucoup dans mon travail
Merci d'avance

Christine
 
L

LeChat

Guest
Bonjour, je ne comprend pas très bien la question car je ne sais pas ou se trouve ta procédure, dans un classeur à part qui s'occupe de faire la modif d'autre application ou dans un classeur qui doit s'auto modifier?

Ta procédure semble pourtant convenable

Ton code vba pour les remplacer les modules peut fonctionner pour seulement ajouter des modules, il suffit de supprimer le "remove" qui sert à supprimer un module.

En attendant plus de détail ...
 

Discussions similaires

Statistiques des forums

Discussions
313 071
Messages
2 095 032
Membres
106 160
dernier inscrit
bingmp