Bonjour,
Dabord, je tiens à m'excuser si la réponse à ce genre de problème existe (et elle existe forcement), mais je suis très pressé et je n'est pas beaucoup de temps, d'autant plus que je ne suis pas fan du VBA
Pour commencer, j'ai une classe Attributes, qui contient un nom, une requête SQL et le résultat de cette requête une fois celle-ci exécutée.
Dans cette classe, j'ai une fonction qui accepte une feuille Excel (via OWC, version 9) et qui écrit le résultat de la requête dans cette feuille :
D'un autre côté, j'ai un formulaire qui contient une collection d'objet de type Attributes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Public Sub WriteToSpreadSheet(ByRef obj As OWC.Spreadsheet) Dim Sheet As OWC.Spreadsheet Set Sheet = obj.Object Dim i As Integer ' mResult contient le résultat de la requête mResult.MoveFirst While mResult.BOF <> True For i = 1 To 18 - 1 ' Ecriture du résultat de la requête Next mResult.MoveNext Wend End Sub
Dans une fonction, je souhaite appeler pour chaque objet de la collection la fonction WriteToSpreadSheet :
Lorsque j'éxécute mon code, j'obtiens une erreur ( Erreur n°483 : Méthode ou propriété non gérée par cette objet ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub CalculateBadPDS() ' Classeur est une variable globale faisant référence à la feuille Excel du formulaire, initilisé dans une autre fonction For i = 1 To 18 ' J'éxécute ma requête Data(i).Execute ' BUG => j'appelle pour chaque objet le méthode WriteToSpreadSheet en donnant comme argument ma feuille Excel Data(i).WriteToSpreadSheet (xlDoc.Object) Next End Sub
J'en déduis que le problème viens du fait que j'utilise comme argument la référence d'une feuille Excel, mais je ne vois pas trop où est le problème (dotant plus que, comme dit plus haut, je n'est pas beaucoup d'expérience en VB).
Merci d'avance pour toutes vos réponses.
EDIT : Désolé, j'avais validé par erreur un peu trop tôt (je ne m'habituerai jamais au tabulation sur les forums )
Partager