Erreur Automation VBA

Résolu
vbman -  
 vbman -
Bonjour,

Je développe une application VBA sur Access et je me récupère une erreur d'automation :
"Erreur d'exécution '-2147467259 (80004005)':

Erreur Automation
Erreur non spécifiée"

Voilà mon code :
//
' Suppression de chaque module
For Each aoModule In CurrentProject.AllModules
' On supprime tous les modules sauf celui-ci
If (VBE.ActiveVBProject.VBComponents(aoModule.Name).Name <> NOM_MODULE) Then
Debug.Print VBE.ActiveVBProject.VBComponents(aoModule.Name).Name
DoCmd.DeleteObject acModule, VBE.ActiveVBProject.VBComponents(aoModule.Name).Name
End If
Next
//
Merci d'avance pour votre aide !

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    a voir

    DoCmd.DeleteObject acModule, VBE.ActiveVBProject.VBComponents(aoModule.Name).Name

    a remplacer par

    DoCmd.DeleteObject acModule, aoModule.Name
    0
    1. vbman
       
      Merci de ta réponse !
      J'ai changé ton code mais ça ne change rien !
      En fait le code plante sur l'instruction Next. Je me demande si CurrentProject.AllModules n'est pas un peu obsolète... je vais aller me renseigner de ce côté.
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Bonjour,
      Non, ca marche, c'est comme cela que j'ai teste votre code. Par contre avez-vous declare aoModule en tant qu'object
      0
    3. vbman
       
      Je pense que c'est la boucle qui gêne. J'ai utilisé ceci et ça marche !

      For Each VBC In Application.VBE.ActiveVBProject.VBComponents
      If ((VBC.Name <> NOM_MODULE) And (Left(VBC.Name, 5) <> "Form_") And (Left(VBC.Name, 7) <> "Report_")) Then
      With Application.VBE.ActiveVBProject.VBComponents
      .Remove VBC
      End With
      End If
      Next VBC
      0