Bonjour à tous,
j'utilise trois objets, Demande, Site et Tranche, ainsi que trois autres objets, qui sont des collections d'objets suscités (donc CollectionDemande, Collectionsite, CollectionTranche).
Le code de l'objet Demande, par exemple, est constitué entre autres de ceci :
Qui ne sont donc que des propriétés privées munies de leurs accesseurs et constructeurs.
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 Option Explicit ' Stockage de la priorité Private pNomTranche As String Public Property Get NomTranche() As String Dim NomProcApp As String 'Stockage de la procédure appelante NomProcApp = NomProc NomProc = "NomTranche ( Get )" 'Gestion des erreurs (procédure en cours) NomTranche = pNomTranche Sortie: ' Remettre la procédure appelante NomProc = NomProcApp Exit Property End Property Public Property Let NomTranche(ByVal NNomTranche As String) Dim NomProcApp As String 'Stockage de la procédure appelante NomProcApp = NomProc NomProc = "NomTranche ( Let )" 'Gestion des erreurs (procédure en cours) pNomTranche = NNomTranche Sortie: ' Remettre la procédure appelante NomProc = NomProcApp Exit Property End Property
Les objets Collection, quand à eux, sont constitués du code suivant :
Ainsi que de fonctions d'ajout, suppression, export, modification... toutes publiques.
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 Option Explicit Private Demandes As Collection Public Sub ImporterCollectionDemandes() Dim NomProcApp As String 'Stockage de la procédure appelante NomProcApp = NomProc NomProc = "ImporterCollectionDemandes" 'Gestion des erreurs (procédure en cours) 'Initialiser collection Set Demandes = New Collection 'Charger la collection dans fichier 'Ouvrir le fichier 'Lire le fichier 'Ajouter les éléments à la collection, avec comme index : concaténation de nom de la tranche, date de la demande, durée de la demande Sortie: ' Remettre la procédure appelante NomProc = NomProcApp Exit Sub End Sub
Je délclare donc mon objet CollectionDemande dans Thisworkbook :
Puis cherche, dans l'évènement Activate(), à utiliser la méthode d'import :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public DemandesEnCours As CollectionDemandes
VB me crache alors l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Call DemandesEnCours.ImporterCollectionDemandes
Variable objet ou variable de bloc With non définie
Et je vois pas du tout, mais du tout le rapport étant donné que pas une seule fois j'utilise l'instruction With.
aurai-je mal conçu mon architecture? à votre avis pourquoi VB me crache-t-il cette erreur?
Merci à tous
Partager