DECLARATION : ByRef LST_BOX as ListBox

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
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
-
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

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
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.
3
Merci

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

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

Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
essaye



Call UPDATE_LIST(Me, List1)
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Public Sub UPDATE_LIST(ByVal MAFORM As Form, ByVal LST_BOX as ListBox)

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

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
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
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
Messages postés
156
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
28 décembre 2010

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
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
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
Messages postés
156
Date d'inscription
mardi 4 novembre 2003
Statut
Membre
Dernière intervention
28 décembre 2010

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
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
Public Sub UPDATE_LIST(MAFORM As Form, LST_BOX As Object)

le Byref n'est pas nécessaire.

Daniel