Bonjour,

Suite au post
Lien

J'ai changé ma méthode car je ne m'en sortais pas.
j'ai donc pour chaque entré de fonction ou procédure écris les ligne suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
  Dim i As Long
  Dim Fonctions As String
  Dim Modules As String
  Dim commandes As String
 
  ' Récupére le nom de la procédure active
  Application.VBE.ActiveCodePane.GetSelection i, 0, 0, 0
  Fonctions = Application.VBE.ActiveCodePane.CodeModule.ProcOfLine(i, 0)
'  Récupére le nom du module
  Modules = Application.VBE.SelectedVBComponent.Name
  On Error GoTo Erreur
cela fonction très bien sauf pour la toute première fois au démarrage de la base.

En effet, à l'ouverture de ma base je lance plusieurs fonction qui utilise ce code quand la première est exécuté, un erreur 91 Objet introuvable apparait sur:
Application.VBE.ActiveCodePane.GetSelection i, 0, 0, 0

Je rentre en mode debbug puis appuie sur F5 sans autre modification cela fonctionne.

Comment dois-je m'y prendre pour charger cette méthode? J'ai l'impression d'un timeout???

Pouvez-vous m'aider SVP?

10:21 : Je viens de trouver que Application.VBE.ActiveCodePane semble ne fonctionner que si le VBE est ouvert. Ceci expliquerai que la méthode marche en mode debbug.

Dans ce cas comment puis-je faire pour récupérer le nom du module sans ouvrir VBE?