OVH Cloud OVH Cloud

De l'utilisation de Outils/références

4 réponses
Avatar
John Fuss
Bonjour à tous,

j'ai créé une macro complémentaire (MacroStd.xla)contenant un module avec
mes fonctions standard que j'utilise dans toutes mes autres macros. J'ai
donc référencé MacroStd.xla via 'Outils/Références' dans toutes mes macros
et cela marche très bien. Je voudrai faire de même avec non plus un module
mais un module de classe.

Comment puis-je m'y prendre ?

Merci d'avance.

John

4 réponses

Avatar
michdenis
Bonjour John,

Je n'ai jamais fait cela...mais as-tu tenté d'appeler ta fonction du module de classe en utilisant la syntaxe suivante :

A = NomDuModuleDeClasse.NomDeLaFonction(Paramètres)


Salutations!


"John Fuss" a écrit dans le message de news:c0qaho$qv3$
Bonjour à tous,

j'ai créé une macro complémentaire (MacroStd.xla)contenant un module avec
mes fonctions standard que j'utilise dans toutes mes autres macros. J'ai
donc référencé MacroStd.xla via 'Outils/Références' dans toutes mes macros
et cela marche très bien. Je voudrai faire de même avec non plus un module
mais un module de classe.

Comment puis-je m'y prendre ?

Merci d'avance.

John
Avatar
John Fuss
En fait je n'arrive pas à créé une instance de ma classe.

John

"michdenis" a écrit dans le message de
news:
Bonjour John,

Je n'ai jamais fait cela...mais as-tu tenté d'appeler ta fonction du
module de classe en utilisant la syntaxe suivante :


A = NomDuModuleDeClasse.NomDeLaFonction(Paramètres)


Salutations!


"John Fuss" a écrit dans le message de
news:c0qaho$qv3$

Bonjour à tous,

j'ai créé une macro complémentaire (MacroStd.xla)contenant un module avec
mes fonctions standard que j'utilise dans toutes mes autres macros. J'ai
donc référencé MacroStd.xla via 'Outils/Références' dans toutes mes macros
et cela marche très bien. Je voudrai faire de même avec non plus un module
mais un module de classe.

Comment puis-je m'y prendre ?

Merci d'avance.

John





Avatar
JClaude
Mets la fonction suivante dans un Module de ton classeur XLA en adaptant les
noms à ta convenance:

Public Function GetMyObject() As MyClasse
Set GetMyObject = New MyClasse
End Function

Puis dans ton classeur classique pour créer l'instance fait comme suit :

Sub Macro1()
Set Essai = GetMyObject() ' Crée l' instance

With Essai
.Fonction1 (P1,P2,...)
.Fonction2 (P1,P2,...)

End With
End Sub

Si quelqu'un a mieux je suis preneur, ceci est une pirouette, mais ça
fonctionne.

Jean-Claude G.


"John Fuss" wrote in message
news:c0qfum$td8$
En fait je n'arrive pas à créé une instance de ma classe.

John

"michdenis" a écrit dans le message de
news:
Bonjour John,

Je n'ai jamais fait cela...mais as-tu tenté d'appeler ta fonction du
module de classe en utilisant la syntaxe suivante :


A = NomDuModuleDeClasse.NomDeLaFonction(Paramètres)


Salutations!


"John Fuss" a écrit dans le message de
news:c0qaho$qv3$

Bonjour à tous,

j'ai créé une macro complémentaire (MacroStd.xla)contenant un module avec
mes fonctions standard que j'utilise dans toutes mes autres macros. J'ai
donc référencé MacroStd.xla via 'Outils/Références' dans toutes mes macros
et cela marche très bien. Je voudrai faire de même avec non plus un module
mais un module de classe.

Comment puis-je m'y prendre ?

Merci d'avance.

John





Avatar
John Fuss
Je viens d'essayer, ça marche très bien, j'ai déclaré Essai comme suit :

dim Essai as Object

y'a t'il un autre type qui 'collerai' plus pour instancier ma classe, ça
depend des infos de la classe ?

Merci d'avance et bravo pour cette astuce !

John

"JClaude" a écrit dans le message de
news:
Mets la fonction suivante dans un Module de ton classeur XLA en adaptant
les

noms à ta convenance:

Public Function GetMyObject() As MyClasse
Set GetMyObject = New MyClasse
End Function

Puis dans ton classeur classique pour créer l'instance fait comme suit :

Sub Macro1()
Set Essai = GetMyObject() ' Crée l' instance

With Essai
.Fonction1 (P1,P2,...)
.Fonction2 (P1,P2,...)

End With
End Sub

Si quelqu'un a mieux je suis preneur, ceci est une pirouette, mais ça
fonctionne.

Jean-Claude G.


"John Fuss" wrote in message
news:c0qfum$td8$
En fait je n'arrive pas à créé une instance de ma classe.

John

"michdenis" a écrit dans le message de
news:
Bonjour John,

Je n'ai jamais fait cela...mais as-tu tenté d'appeler ta fonction du
module de classe en utilisant la syntaxe suivante :


A = NomDuModuleDeClasse.NomDeLaFonction(Paramètres)


Salutations!


"John Fuss" a écrit dans le message de
news:c0qaho$qv3$

Bonjour à tous,

j'ai créé une macro complémentaire (MacroStd.xla)contenant un module
avec


mes fonctions standard que j'utilise dans toutes mes autres macros. J'ai
donc référencé MacroStd.xla via 'Outils/Références' dans toutes mes
macros


et cela marche très bien. Je voudrai faire de même avec non plus un
module


mais un module de classe.

Comment puis-je m'y prendre ?

Merci d'avance.

John