Bonjour,

je n'arrive pas à initialiser une variable globale dans le Workbook_Open().
La variable est déclarée dans un module :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Option Explicit
Public param As Object
Public listeGen As Object
Voici un code simplifié de Workbook_Open() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Private Sub Workbook_Open()
    Dim nomFichierParametre As String
    nomFichierParametre = "parametres.xlsm"
    'ouverture du fichier "parametre.xlsm"
    Application.Workbooks.Open dossierCourant & "\" & nomFichierParametre
    'ajouter la référence de parametres.xlsm
    ajouterReference nomFichier, dossierCourant & "\" & nomFichierParametre
    Application.Windows(nomFichier).Activate
    Set param = getParametre
End Sub
L'erreur renvoyée est : "Variable non définie" et Excel désigne getParametre.

La fonction getParametre() est définie dans un module du fichier "parametres.xlsm" comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Public Function getParametre() As Parametre
    Set getParametre = New Parametre
End Function
La classe Parametre est aussi définie dans le fichier "parametres.xlsm".

Je pense que le problème vient du fait que je met le classeur "parametres.xlsm" en référence juste avant et que donc Excel ne "voit pas encore" les Sub de ce classeur.

Est-ce bien le problème ? Et comment le contourner ?

Merci de votre aide qui m'a été si précieuse jusqu'ici.