Objets, modules de classe, méthodes
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).
http://img685.imageshack.us/img685/1...titretj.th.jpg
Le code de l'objet Demande, par exemple, est constitué entre autres de ceci :
Code:
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 |
Qui ne sont donc que des propriétés privées munies de leurs accesseurs et constructeurs.
Les objets Collection, quand à eux, sont constitués du code suivant :
Code:
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 |
Ainsi que de fonctions d'ajout, suppression, export, modification... toutes publiques.
Je délclare donc mon objet CollectionDemande dans Thisworkbook :
Code:
Public DemandesEnCours As CollectionDemandes
Puis cherche, dans l'évènement Activate(), à utiliser la méthode d'import :
Code:
Call DemandesEnCours.ImporterCollectionDemandes
VB me crache alors l'erreur suivante :
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