Déclaration de fonction [Résolu]

Signaler
Messages postés
156
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
28 décembre 2010
-
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
-
J'ai un mega probleme et je ne m'en sors pas... Si quelqu'un peu m'aider j'achéte je m'explique. Je voudrai passer de ca :

Public Sub
UPDATE_NEW_ENTRY(DATA_FORM As Form, DIRC_FORM As Form, NB_FIELDS As Integer,
Optional TXT_TEST0 As String, Optional TXT_TEST1 As String, Optional TXT_TEST2
As String, Optional TXT_TEST3 As String, Optional TXT_TEST4 As String, Optional
TXT_TEST5 As String, Optional TXT_TEST6 As String, Optional TXT_TEST7 As
String, Optional TXT_TEST8 As String)




à ca :

Public Sub
UPDATE_NEW_ENTRY(DATA_FORM As Form, DIRC_FORM As Form, NB_FIELDS As Integer,
Optional TXT_TEST() As String)





Le probleme c'est que quand je rappel cette fonction
UPDATE_NEW_ENTRY, il ne m'ouvre qu'une seule Variable TXT_TEST() et
rien d'autre Alors que moi j'en veux 9.



Si quelqu'un me trouve une solution je serai heureux. J'en ai marre de me prendre la tete lol Merci d'avance a tout le monde.



PROTEUS

5 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
25
Et pourquoi pas ca :

Public Sub UPDATE_NEW_ENTRY(DATA_FORM As Form, DIRC_FORM As Form, NB_FIELDS As Integer, Optional paramarray TXT_TEST() As variant)
Dim i as long
For i = lcase(txt_test) to ubound(txt_test)
Msgbox txt_test(i)
Next
End Sub


Christophe R
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
156
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
28 décembre 2010

A crenaud76


Le code était presque parfait, seul truc que tu as mis en trop c'est le
Optional : Public Sub UPDATE_NEW_ENTRY(DATA_FORM As Form, DIRC_FORM As
Form, NB_FIELDS As Integer, ParamArray TXT_TEST
() As Variant)



Et la ca marche niquel. Merci a tous. Et merci Renaud pour l'orientation de l'idée. Gobillot ta solution de choisir la classe object, ne resolvé pas mon probleme mais merci quand meme.


PROTEUS
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
28
Public Sub UPDATE_NEW_ENTRY(DATA_FORM As Form, DIRC_FORM As Form, NB_FIELDS As Integer, Optional TXT_TEST As Object)
- - - - - - - - - - - - - - - - - -
MsgBox TXT_TEST(0).Text
MsgBox TXT_TEST(1).Text
- - - - - - - - - - - - - - - - - -
End Sub

Daniel
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
28
j'ai dû mal comprendre alors, je croyais que tu voulais passer un groupe de contrôle
parceque pour un Tableau de String, ta fonction était bonne:

Private Sub Command1_Click()
Dim txt() As String
ReDim txt(2)
txt(0) = "aaa"
txt(1) = "bbb"
txt(2) = "ccc"
UPDATE_NEW_ENTRY txt
End Sub


Private Sub UPDATE_NEW_ENTRY(T() As String)
Dim i As Integer
For i = 0 To UBound(T)
MsgBox T(i)
Next
End Sub

Daniel
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
25
Excuse pour le optional en trop mais j'ai pondu cela de mémoire, sans VB sous la main pour tester

Christophe R