OVH Cloud OVH Cloud

Erreur que je n'arrive pas à résoudre

1 réponse
Avatar
Moureau Laurent
Bonjour à tous,

J'ai un petit souci que je n'arrive pas à résoudre.

J'ai en effet 2 fichier xla qui contienne des fonctions.

Dans mom première xla j'ai une routine que voici

Public Type Formule
A As Double
B As Double
B1 As Double
B2 As Double
D1 As Double
D2 As Double
D3 As Double
C As Double

IndexIDividente As Double
IndexIDiviseur As Double
FormatIndexI As String

IndexSDividente As Double
IndexSDiviseur As Double

IndexK1Dividente As Double
IndexK1Diviseur As Double
FormatIndexK1 As String

IndexK2Dividente As Double
IndexK2Diviseur As Double
FormatIndexK2 As String

IndexM1Dividente As Double
IndexM1Diviseur As Double
FormatIndexM1 As String

indexM2Dividente As Double
IndexM2Diviseur As Double
FormatIndexM2 As String

IndexM3Dividente As Double
IndexM3Diviseur As Double
FormatIndexM3 As String

Utilise As Boolean
DateInit As Date
DateJour As Date
End Type

Sub ImprimeRevision(EAAimprimer As String, FeuilleRevision As String, ByVal
LigneD As Integer, FormatPrixEA As String, ByRef f() As Formule)
...
....
....
end sub

Dans mon 2 éme xla je fais appelle à la fonction du 1 er xla , les
variable et les type étant défini comme dans le 1 er xla

Call Application.Run("Test.xla!ImprimeRevision", EAAimprimer,
"ImpressionRevision", , Ligne_ds_impression, FormatPrixEA, f())

J'ai le meesage d'erreur suivant : Seul les types définis par l'utilisateur
et qui sont définis dans les modules d'objets publics peuvent être convertis
depuis ou vers un variant ou passés à des fonctions de liaison tardive.

Pouvez vous m'aider

Merci d'avance
--
!!!!ANTISPAM!!!!

Cliquez sur le lien pour répondre

http://cerbermail.com/?YFShDEWIbx

1 réponse

Avatar
Frédéric Sigonneau
Bonsoir,

Le code de ton type et des procédures 'publiées' est-il bien dans un module
standard du classeur Test.xla (et non pas dans un module de feuille ou le module
ThisWorkbook) ?
Par ailleurs, la syntaxe de ton appel de la procédure ImprimeRevision ne me
parait pas très orthodoxe... S'agissant d'exécuter une procédure, j'essayerais
plutôt :

Application.Run "Test.xla!ImprimeRevision", EAAimprimer, _
"ImpressionRevision", Ligne_ds_impression, _
FormatPrixEA, f()

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour à tous,

J'ai un petit souci que je n'arrive pas à résoudre.

J'ai en effet 2 fichier xla qui contienne des fonctions.

Dans mom première xla j'ai une routine que voici

Public Type Formule
A As Double
B As Double
B1 As Double
B2 As Double
D1 As Double
D2 As Double
D3 As Double
C As Double

IndexIDividente As Double
IndexIDiviseur As Double
FormatIndexI As String

IndexSDividente As Double
IndexSDiviseur As Double

IndexK1Dividente As Double
IndexK1Diviseur As Double
FormatIndexK1 As String

IndexK2Dividente As Double
IndexK2Diviseur As Double
FormatIndexK2 As String

IndexM1Dividente As Double
IndexM1Diviseur As Double
FormatIndexM1 As String

indexM2Dividente As Double
IndexM2Diviseur As Double
FormatIndexM2 As String

IndexM3Dividente As Double
IndexM3Diviseur As Double
FormatIndexM3 As String

Utilise As Boolean
DateInit As Date
DateJour As Date
End Type

Sub ImprimeRevision(EAAimprimer As String, FeuilleRevision As String, ByVal
LigneD As Integer, FormatPrixEA As String, ByRef f() As Formule)
...
....
....
end sub

Dans mon 2 éme xla je fais appelle à la fonction du 1 er xla , les
variable et les type étant défini comme dans le 1 er xla

Call Application.Run("Test.xla!ImprimeRevision", EAAimprimer,
"ImpressionRevision", , Ligne_ds_impression, FormatPrixEA, f())

J'ai le meesage d'erreur suivant : Seul les types définis par l'utilisateur
et qui sont définis dans les modules d'objets publics peuvent être convertis
depuis ou vers un variant ou passés à des fonctions de liaison tardive.

Pouvez vous m'aider

Merci d'avance
--
!!!!ANTISPAM!!!!

Cliquez sur le lien pour répondre

http://cerbermail.com/?YFShDEWIbx