DECLARATION : ByRef LST_BOX as ListBox

Résolu
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010 - 20 janv. 2005 à 15:22
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 20 janv. 2005 à 22:20
Bonjour tous le monde,



Quelqu un
peut m expliquer pourquoi quand je fais ca :

public sub UPDATE_LIST(ByRef
LST_BOX as ListBox) Pourquoi LST_BOX Prends bien le nom de la list1 de ma form

pourquoi quand je fais ca :

Public Sub UPDATE_LIST(MAFORM As Form,
ByRef LST_BOX as ListBox) Et la il me marque que LST_BOX = « » ? J en
perds mon latin.



Donc voila mes fonctions et quand je les appels dans le premier cas je fais simplement :

UPDATE_LIST List1 : List1 etant le nom de la listbox

Et dans le second cas je fait :

UPDATE_LIST Me, List1 : Mais la ca ne marche pas. J'ai aussi essayer avec Me.list1 mais c'est pareille il me marque que List1 = "".



Merci d'avance si quelqu'un peut me dire pourquoi est ce que dans le deuxieme cas List1 devient Vide ?


PROTEUS

9 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
20 janv. 2005 à 20:48
For I = 0 to 10 Step 1
MAFORM.LST_BOX.AddItem (I)
Next I

Arrrrggggghhhh !!!

Tu passes un objet en référence, il ne faut donc surtout pas le préfixer par la feuille sur laquelle il est situé. Ta variable LST_BOX fait déjà référence à un objet unique et sait sur quelle feuille est placée ta listbox.
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
20 janv. 2005 à 15:36
essaye



Call UPDATE_LIST(Me, List1)
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
20 janv. 2005 à 16:49
Public Sub UPDATE_LIST(ByVal MAFORM As Form, ByVal LST_BOX as ListBox)

It@li@
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
20 janv. 2005 à 18:17
Désolé a tout les deux, mais les deux ne fonctionne pas... Je garde mon erreur qui me dis que LST_BOX = "".




Ce que je ne comprends pas c'est quand j'utilise cette ligne la : public sub UPDATE_LIST(ByRef
LST_BOX as ListBox) Ca marche, Mais des que je rajoute des options, exemple MAFORM As Form, ca ne marche plus



Merci quand meme a tout les deux...



PROTEUS

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
20 janv. 2005 à 18:30
ote moi un leger doute,

dans LST_BOX = ""

"" est une string

et LST_BOX est une listbox.



comment un objet simple peu etre egal a un complique?



j'ai tape le suivant dans un nouveau projet avec juste une liste sur une
forme pour aller plus vite.

J'ai utilise .name pour plus de simplicite mais le faite que ca marche montre
bien
que la sub a recu quelquechose, non?




Option Explicit



Private Sub Form_Load()



Call UPDATE_LIST(Me, List1)

End Sub







Public Sub UPDATE_LIST(MAFORM As Form, ByRef LST_BOX As ListBox)

Form1.Caption = LST_BOX.Name

End Sub








UPDATE_LIST Me, List1 marche aussi bien
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
20 janv. 2005 à 19:17
Merci pour ta reponse "cqui789" qui est loin de manquer d'interet, mais ton teste je l'avais deja fait, je suis d'accord que la commande : FORM1.Caption LST_BOX.Name, marche mais est ce que tu as essayer de faire :



For I = 0 to 10 Step 1

MAFORM.LST_BOX.AddItem (I)

Next I



Et la je crois que tu risques d'avoir des surprises...

PROTEUS
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
20 janv. 2005 à 19:33
Le suivant a rajoute gentiment 11 item dans la liste


Option Explicit



Private Sub Form_Load()



UPDATE_LIST Me, List1

End Sub







Public Sub UPDATE_LIST(MAFORM As Form, ByRef LST_BOX As ListBox)

Dim i As Integer



asdasdasd.Caption = " -" & MAFORM.Name



For i = 0 To 10 Step 1



LST_BOX.AddItem (i)

Next i





End Sub
PROTEUS91 Messages postés 156 Date d'inscription mardi 4 novembre 2003 Statut Membre Dernière intervention 28 décembre 2010
20 janv. 2005 à 21:39
Grand merci a tous et encore plus grand a toi "mrdep1978" Tu avais raison la solution etais bien le fait que j'essayer d'identifier LST_BOX alors que comme tu le dis il sait d'ou il vient. Je te remerci donc bcp ca ma bcp bcp bcp aidé.



J'ai peut etre encore une petite question ? Tu sais ce fameux LST_BOX il est declaré en "As ListBox", mais des fois j'utilise cette fonction pour une ComboBox, Tu sais pas si il y a une solution pour declarer LST_BOX en "As ListBox" ou en "As ComboBox" ?



Merci en tout cas pour votre aider a tous et merci encore "MrDep1978"


PROTEUS
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
20 janv. 2005 à 22:20
Public Sub UPDATE_LIST(MAFORM As Form, LST_BOX As Object)

le Byref n'est pas nécessaire.

Daniel
Rejoignez-nous