Utiliser un module de classe déclaré dans un .xlsm
1 réponse
Stéphane Santon
Bonjour,
Mon dernier programme VBA était sous Excel 2003 ! Ici un petit projet
ponctuel...
Je désire exporter des fragments de feuilles au format JSON.
J'ai trouvé cette bibiliothèque intéressante :
http://ramblings.mcpher.com/Home/excelquirks/classeslink/data-manipulation-classes/data-abstraction
C'est un fichier .xlsm . Dans la macro de mon classeur, je déclare :
Dim goSets As cDataSets
mais il me répond à l'exec : "Type défini par l'utilisateur non
défini".
Comment déclarer l'usage de cette librairie externe ?
Merci
--
Stéphane
Jeune Chambre Economique de Saintes *** http://www.jce-saintes.org
Agitateurs d'idées... accélérateurs de talents !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Le fichier que j'ai récupéré est rempli de module de classe et de module standard. Comme le code semble imbriquer d'un module à l'autre, je vais répondre simplement à ta question à savoir comment déclarer la variable pour pouvoir l'utiliser.
Dans un module standard, écris cette petite procédure. L'expression "New" est très importante, car c'est lui qui cré l'instance de l'objet "cDataSets". Évidemment dans la liste des modules de classe tu vois ce dernier "cDataSets" mais quand tu fais la déclaration du module, c'est l'objet "CdataSets" que tu créées. À cet égard, les procédures "Get()" ou "Let()" font référence à une propriété de l'objet "cDataSets". Lorsqu'il s'agit d'un objet on utilise "Set" pour définir l'objet.
Quand tu écris une procédure dans un module de classe, tu écris en fait la "méthode" (une action) qui est associée à l'objet que tu as créé.
Pour accéder à ces "Propriétés" ou "Méthodes" de l'objet "cDataSets" il s'agit de taper un point immédiatement après la variable objet que tu as utilisée.
Si tu n'es pas trop familier avec les modules de classe, tu risques de trouver très ardu de faire une réplique de ces modules...Tu as plusieurs heures de travail devant toi si ce n'est des jours de plaisir...!
N.B. Ce n'est pas une librairie (bibliothèque), mais un module de classe.
'------------------------------------------ Sub test() Dim Md As New cDataSets Md.create "Michd" Md.init Range("A1:A10"), True End Sub '------------------------------------------
Le fichier que j'ai récupéré est rempli de module de classe
et de module standard. Comme le code semble imbriquer
d'un module à l'autre, je vais répondre simplement à ta
question à savoir comment déclarer la variable pour pouvoir
l'utiliser.
Dans un module standard, écris cette petite procédure.
L'expression "New" est très importante, car c'est lui qui
cré l'instance de l'objet "cDataSets". Évidemment dans la
liste des modules de classe tu vois ce dernier "cDataSets"
mais quand tu fais la déclaration du module, c'est l'objet
"CdataSets" que tu créées.
À cet égard, les procédures "Get()" ou "Let()" font référence
à une propriété de l'objet "cDataSets". Lorsqu'il s'agit d'un
objet on utilise "Set" pour définir l'objet.
Quand tu écris une procédure dans un module de classe, tu
écris en fait la "méthode" (une action) qui est associée à l'objet
que tu as créé.
Pour accéder à ces "Propriétés" ou "Méthodes" de l'objet "cDataSets"
il s'agit de taper un point immédiatement après la variable objet
que tu as utilisée.
Si tu n'es pas trop familier avec les modules de classe, tu risques de
trouver
très ardu de faire une réplique de ces modules...Tu as plusieurs heures de
travail devant toi si ce n'est des jours de plaisir...!
N.B. Ce n'est pas une librairie (bibliothèque), mais un module de classe.
'------------------------------------------
Sub test()
Dim Md As New cDataSets
Md.create "Michd"
Md.init Range("A1:A10"), True
End Sub
'------------------------------------------
Le fichier que j'ai récupéré est rempli de module de classe et de module standard. Comme le code semble imbriquer d'un module à l'autre, je vais répondre simplement à ta question à savoir comment déclarer la variable pour pouvoir l'utiliser.
Dans un module standard, écris cette petite procédure. L'expression "New" est très importante, car c'est lui qui cré l'instance de l'objet "cDataSets". Évidemment dans la liste des modules de classe tu vois ce dernier "cDataSets" mais quand tu fais la déclaration du module, c'est l'objet "CdataSets" que tu créées. À cet égard, les procédures "Get()" ou "Let()" font référence à une propriété de l'objet "cDataSets". Lorsqu'il s'agit d'un objet on utilise "Set" pour définir l'objet.
Quand tu écris une procédure dans un module de classe, tu écris en fait la "méthode" (une action) qui est associée à l'objet que tu as créé.
Pour accéder à ces "Propriétés" ou "Méthodes" de l'objet "cDataSets" il s'agit de taper un point immédiatement après la variable objet que tu as utilisée.
Si tu n'es pas trop familier avec les modules de classe, tu risques de trouver très ardu de faire une réplique de ces modules...Tu as plusieurs heures de travail devant toi si ce n'est des jours de plaisir...!
N.B. Ce n'est pas une librairie (bibliothèque), mais un module de classe.
'------------------------------------------ Sub test() Dim Md As New cDataSets Md.create "Michd" Md.init Range("A1:A10"), True End Sub '------------------------------------------