Bonjour,
Inscrit récemment, je passe régulièrement ici pour lire les tuto et suivre les topics qui m'interessent. Le problème que je vous soumet à déjà été traité, retraité, re-re-traité...mais je dois fatigué il y a un truc qui ne passe plus (alors qu'il y a quelques heures, avant plusieurs modifs... :fail
Le problème réside sur la portée de mon module de classe instancié.
Extrait de mon module de classe Initialisation :
Extrait de ma feuille MENU
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Option Explicit Public Nom_de_la_Simulation As String Public Repertoire_de_travail As String Public Racine_import_S_fonctions As String Public Racine_export_données_scenario As String Public Racine_export_Courbe As String Public Racine_librairie_SAO_1 As String Public Racine_librairie_SAO_2 As String Public Racine_données_scenario As String Public Racine_Rapport As String Public Racine_modèle_avion As String Public Repertoire_cosimulation As String Public Repertoire_tables_perfo As String Public Repertoire_Templates_Courbes As String Public Nom_du_fichier_de_parametre As String Public MaxProcess As Single Public sleepTimeMS As Single Public Actual_ListFichier As Collection ' Méthode permettant d'initialiser les chemins et repertoires (MENU) ' afin de les rendre accessible dans tout le fichier gestion_test Sub Init_Path() Nom_de_la_Simulation = Worksheets("MENU").Range("B1") Repertoire_de_travail = Worksheets("MENU").Range("B2") Racine_import_S_fonctions = Worksheets("MENU").Range("B3") Racine_export_données_scenario = Worksheets("MENU").Range("B4") Racine_export_Courbe = Worksheets("MENU").Range("B5") Racine_librairie_SAO_1 = Worksheets("MENU").Range("B6") Racine_librairie_SAO_2 = Worksheets("MENU").Range("B7") Racine_données_scenario = Worksheets("MENU").Range("B8") Racine_Rapport = Worksheets("MENU").Range("B9") Racine_modèle_avion = Worksheets("MENU").Range("B10") Repertoire_cosimulation = Worksheets("MENU").Range("B11") Repertoire_tables_perfo = Worksheets("MENU").Range("B12") Repertoire_Templates_Courbes = Worksheets("MENU").Range("B13") Nom_du_fichier_de_parametre = Worksheets("MENU").Range("E1") MsgBox "Init_Path() => " & Nom_de_la_Simulation End Sub
J'ai un bouton initialisation qui appelle Public Sub RaZ_Init(). Pas de soucis, le test de fin (et d'autres) me ressortent les bonnes infos issus des différents attributs de myInit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 Option Explicit Public myInit As Initialisation Public Function GetInitialisation() As Initialisation Set GetInitialisation = New Initialisation End Function ' ---------------------------------------------------------------------------------------------------- ' Méthode permettant de lancer l'initialisation Public Sub RaZ_Init() If myInit Is Nothing Then Set myInit = GetInitialisation End If MsgBox "Sub RaZ_Init()" myInit.Init_Path myInit.Init_Shell myInit.MAJ_Testjouables Worksheets("MENU").Range("B14:B25") = "" ' VERIFICATION If myInit Is Nothing Then MsgBox "Mauvaise Initialisation" Else Worksheets("MENU").Range("D14") = "Initialisation de " & myInit.Nom_de_la_Simulation & " : DONE" End If End Sub ' ---------------------------------------------------------------------------------------------------- ' Méthode permettant d'afficher un MsgBox avec le nombre de scenarios à simuler Public Sub Info_nbScenarios() If myInit Is Nothing Then MsgBox "Mauvaise Initialisation" Else myInit.Calcul_NombreScenarios End If End Sub
Le bouton qui appelle Sub Info_nbScenarios()...fail à chaque fois par contre. "Mauvaise initialisation" qu'il me dit.
GetInitialisation est un ajout récent pour essayer de corriger le soucis. J'ai aussi essayé d'instancier par un Dim ... As New ... mais ça me clean la valeur de mes attributs de classes.
'fin bref, ça a marché avec un truc semblable.
Si quelqu'un peut m'aider je prends !
Merci d'avance,
Julien
Partager