Voilà, j'essaie de créer une instance vers un module de classe situé
dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien
ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon
application :
Code:
sub affichage()
Dim X As toto
X.Init ("toto")
End Sub
et dans mon module de classe ("toto") de ma macro complémentaire :
Code:
Sub Init(text)
MsgBox text
End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la
classe mais me dit 'Variable objet ou variable bloc With non définie
(erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier
une classe qui se trouve dans un xla ?
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
Pascal Engelmajer
Salut, à première vue... Dim X As New toto
ou au choix
Dim X As toto set X= New toto X. Init ("toto")
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Isabelle Robin" a écrit dans le message de news:
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon application : Code: sub affichage() Dim X As toto X.Init ("toto") End Sub
et dans mon module de classe ("toto") de ma macro complémentaire : Code: Sub Init(text) MsgBox text End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la classe mais me dit 'Variable objet ou variable bloc With non définie (erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier une classe qui se trouve dans un xla ?
Merci pour votre aide
Salut,
à première vue...
Dim X As New toto
ou au choix
Dim X As toto
set X= New toto
X. Init ("toto")
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Isabelle Robin" <isabelle.robin@oracle.com> a écrit dans le message de
news: 4045C55B.883EBD49@oracle.com...
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé
dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien
ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon
application :
Code:
sub affichage()
Dim X As toto
X.Init ("toto")
End Sub
et dans mon module de classe ("toto") de ma macro complémentaire :
Code:
Sub Init(text)
MsgBox text
End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la
classe mais me dit 'Variable objet ou variable bloc With non définie
(erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier
une classe qui se trouve dans un xla ?
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Isabelle Robin" a écrit dans le message de news:
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon application : Code: sub affichage() Dim X As toto X.Init ("toto") End Sub
et dans mon module de classe ("toto") de ma macro complémentaire : Code: Sub Init(text) MsgBox text End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la classe mais me dit 'Variable objet ou variable bloc With non définie (erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier une classe qui se trouve dans un xla ?
Merci pour votre aide
Isabelle Robin
Salut,
Ben justement, ce que je ne comprends pas, c'est qu'il aime pas le mot "new" ('utilisation incorrecte du mot') alors que je l'utilise nul part sauf ici.
Et là, je suis coincée et je n'ai plus d'idées.
Merci pour votre aide
Pascal Engelmajer wrote:
Salut, à première vue... Dim X As New toto
ou au choix
Dim X As toto set X= New toto X. Init ("toto")
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Isabelle Robin" a écrit dans le message de news:
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon application : Code: sub affichage() Dim X As toto X.Init ("toto") End Sub
et dans mon module de classe ("toto") de ma macro complémentaire : Code: Sub Init(text) MsgBox text End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la classe mais me dit 'Variable objet ou variable bloc With non définie (erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier une classe qui se trouve dans un xla ?
Merci pour votre aide
Salut,
Ben justement, ce que je ne comprends pas, c'est qu'il aime pas le mot "new"
('utilisation incorrecte du mot') alors que je l'utilise nul part sauf ici.
Et là, je suis coincée et je n'ai plus d'idées.
Merci pour votre aide
Pascal Engelmajer wrote:
Salut,
à première vue...
Dim X As New toto
ou au choix
Dim X As toto
set X= New toto
X. Init ("toto")
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Isabelle Robin" <isabelle.robin@oracle.com> a écrit dans le message de
news: 4045C55B.883EBD49@oracle.com...
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé
dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien
ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon
application :
Code:
sub affichage()
Dim X As toto
X.Init ("toto")
End Sub
et dans mon module de classe ("toto") de ma macro complémentaire :
Code:
Sub Init(text)
MsgBox text
End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la
classe mais me dit 'Variable objet ou variable bloc With non définie
(erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier
une classe qui se trouve dans un xla ?
Ben justement, ce que je ne comprends pas, c'est qu'il aime pas le mot "new" ('utilisation incorrecte du mot') alors que je l'utilise nul part sauf ici.
Et là, je suis coincée et je n'ai plus d'idées.
Merci pour votre aide
Pascal Engelmajer wrote:
Salut, à première vue... Dim X As New toto
ou au choix
Dim X As toto set X= New toto X. Init ("toto")
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Isabelle Robin" a écrit dans le message de news:
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon application : Code: sub affichage() Dim X As toto X.Init ("toto") End Sub
et dans mon module de classe ("toto") de ma macro complémentaire : Code: Sub Init(text) MsgBox text End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la classe mais me dit 'Variable objet ou variable bloc With non définie (erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier une classe qui se trouve dans un xla ?
Merci pour votre aide
Isabelle Robin
re-bonjour,
J'ai trouvé la solution, je vous la donne :
- Dans un module standard du fichier xla, créer une fonction Public Function GetMyClass() As MyClass Set GetMyClass = New MyClass End Function
où MyClass est le nom du module de classe.
- Dans le workbook Dans un module standard, déclare une varibale MyClass et utiliser la fonction GetMyClass pour initialiser une nouvelle instance de MyClass
Dim MC As MyProj.MyClass Set MC = MyProj.GetMyClass()
Voilà, et de mon côté, ça marche. @+
Isabelle Robin wrote:
Salut,
Ben justement, ce que je ne comprends pas, c'est qu'il aime pas le mot "new" ('utilisation incorrecte du mot') alors que je l'utilise nul part sauf ici.
Et là, je suis coincée et je n'ai plus d'idées.
Merci pour votre aide
Pascal Engelmajer wrote:
Salut, à première vue... Dim X As New toto
ou au choix
Dim X As toto set X= New toto X. Init ("toto")
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Isabelle Robin" a écrit dans le message de news:
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon application : Code: sub affichage() Dim X As toto X.Init ("toto") End Sub
et dans mon module de classe ("toto") de ma macro complémentaire : Code: Sub Init(text) MsgBox text End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la classe mais me dit 'Variable objet ou variable bloc With non définie (erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier une classe qui se trouve dans un xla ?
Merci pour votre aide
re-bonjour,
J'ai trouvé la solution, je vous la donne :
- Dans un module standard du fichier xla, créer une fonction
Public Function GetMyClass() As MyClass
Set GetMyClass = New MyClass
End Function
où MyClass est le nom du module de classe.
- Dans le workbook
Dans un module standard, déclare une varibale MyClass et utiliser la fonction
GetMyClass pour initialiser une nouvelle instance de MyClass
Dim MC As MyProj.MyClass
Set MC = MyProj.GetMyClass()
Voilà, et de mon côté, ça marche.
@+
Isabelle Robin wrote:
Salut,
Ben justement, ce que je ne comprends pas, c'est qu'il aime pas le mot "new"
('utilisation incorrecte du mot') alors que je l'utilise nul part sauf ici.
Et là, je suis coincée et je n'ai plus d'idées.
Merci pour votre aide
Pascal Engelmajer wrote:
Salut,
à première vue...
Dim X As New toto
ou au choix
Dim X As toto
set X= New toto
X. Init ("toto")
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Isabelle Robin" <isabelle.robin@oracle.com> a écrit dans le message de
news: 4045C55B.883EBD49@oracle.com...
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé
dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien
ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon
application :
Code:
sub affichage()
Dim X As toto
X.Init ("toto")
End Sub
et dans mon module de classe ("toto") de ma macro complémentaire :
Code:
Sub Init(text)
MsgBox text
End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la
classe mais me dit 'Variable objet ou variable bloc With non définie
(erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier
une classe qui se trouve dans un xla ?
- Dans un module standard du fichier xla, créer une fonction Public Function GetMyClass() As MyClass Set GetMyClass = New MyClass End Function
où MyClass est le nom du module de classe.
- Dans le workbook Dans un module standard, déclare une varibale MyClass et utiliser la fonction GetMyClass pour initialiser une nouvelle instance de MyClass
Dim MC As MyProj.MyClass Set MC = MyProj.GetMyClass()
Voilà, et de mon côté, ça marche. @+
Isabelle Robin wrote:
Salut,
Ben justement, ce que je ne comprends pas, c'est qu'il aime pas le mot "new" ('utilisation incorrecte du mot') alors que je l'utilise nul part sauf ici.
Et là, je suis coincée et je n'ai plus d'idées.
Merci pour votre aide
Pascal Engelmajer wrote:
Salut, à première vue... Dim X As New toto
ou au choix
Dim X As toto set X= New toto X. Init ("toto")
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Isabelle Robin" a écrit dans le message de news:
Bonjour,
Voilà, j'essaie de créer une instance vers un module de classe situé dans une macro complémentaire (.xla). Dans mon excel 'normal', j'ai bien ajouté la référence du fichier xla.
Voici un exemple de ce que j'ai fait, dans un module normal de mon application : Code: sub affichage() Dim X As toto X.Init ("toto") End Sub
et dans mon module de classe ("toto") de ma macro complémentaire : Code: Sub Init(text) MsgBox text End Sub
Lorsque j'exécute la procédure de mon module normal, il trouve bien la classe mais me dit 'Variable objet ou variable bloc With non définie (erreur 91)'.
J'ai essayé d'instancier avec le mot "new" mais cela me fait une erreur.
Auriez vous des idées ? Est ce qu'il est en fait possible d'instancier une classe qui se trouve dans un xla ?