transmettre un objet "zone de liste" dans une fonction
5 réponses
Bonjour,
J'essaye de cr=E9er une proc=E9dure qui prend en argument une=20
zone de liste :
Sub deSelectionneTout(lst As ListBox)
For i =3D 0 To lst.ListCount - 1
lst.Selected(i) =3D False
Next
End Sub
cette proc=E9dure est appel=E9e de la sorte :
call deSelectionneTout(lst_intervenants)
malheureusement Access g=E9n=E9re une erreur ("erreur=20
d'execution '424' : objet requis"). En=20
fait "lst_intervenants" correspond =E0 la valeur de=20
l'=E9l=E9ment s=E9lectionn=E9 dans la liste mais pas =E0 tout=20
l'objet lui m=EAme...
Comment faire pour transmettre =E0 la proc=E9dure=20
l'int=E9gralit=E9 de l'objet "zone de liste" ??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre CFI [mvp]
bonjour si cette sub est dans un module, c'est le form qu'il faut passer Sub deSelectionneTout(F As Form) For i = 0 To F.lst_intervenants.ListCount - 1 F.lst_intervenants.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : dans le form ou est la liste call deSelectionneTout(Me)
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
bonjour
si cette sub est dans un module, c'est le form qu'il faut passer
Sub deSelectionneTout(F As Form)
For i = 0 To F.lst_intervenants.ListCount - 1
F.lst_intervenants.Selected(i) = False
Next
End Sub
cette procédure est appelée de la sorte : dans le form ou est la liste
call deSelectionneTout(Me)
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
<anonymous@discussions.microsoft.com> a écrit dans le message de news:9bd101c4341a$60621050$a101280a@phx.gbl...
Bonjour,
J'essaye de créer une procédure qui prend en argument une
zone de liste :
Sub deSelectionneTout(lst As ListBox)
For i = 0 To lst.ListCount - 1
lst.Selected(i) = False
Next
End Sub
cette procédure est appelée de la sorte :
call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur
d'execution '424' : objet requis"). En
fait "lst_intervenants" correspond à la valeur de
l'élément sélectionné dans la liste mais pas à tout
l'objet lui même...
Comment faire pour transmettre à la procédure
l'intégralité de l'objet "zone de liste" ??
bonjour si cette sub est dans un module, c'est le form qu'il faut passer Sub deSelectionneTout(F As Form) For i = 0 To F.lst_intervenants.ListCount - 1 F.lst_intervenants.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : dans le form ou est la liste call deSelectionneTout(Me)
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
Pierre CFI [mvp]
..../.... ou passer le nom du form et le nom de la liste
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
..../....
ou passer le nom du form et le nom de la liste
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
<anonymous@discussions.microsoft.com> a écrit dans le message de news:9bd101c4341a$60621050$a101280a@phx.gbl...
Bonjour,
J'essaye de créer une procédure qui prend en argument une
zone de liste :
Sub deSelectionneTout(lst As ListBox)
For i = 0 To lst.ListCount - 1
lst.Selected(i) = False
Next
End Sub
cette procédure est appelée de la sorte :
call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur
d'execution '424' : objet requis"). En
fait "lst_intervenants" correspond à la valeur de
l'élément sélectionné dans la liste mais pas à tout
l'objet lui même...
Comment faire pour transmettre à la procédure
l'intégralité de l'objet "zone de liste" ??
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
Raymond [mvp]
Bonjour.
pour vider une liste :
Private Sub Commande0_Click() deSelectionneTout Me.lst_intervenants ' (nom de la liste qui dans ce cas sera pris comme objet) End Sub
Sub deSelectionneTout(lst As ListBox) Dim I As Variant For Each I In lst .ItemsSelected lst .Selected(I) = False Next I End Sub
ou
Sub deSelectionneTout(lst As ListBox) Dim i As Integer For i = 0 To Liste.ListCount - 1 Liste.Selected(i) = False Next End Sub
a écrit dans le message de news:9bd101c4341a$60621050$ Bonjour,
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
Bonjour.
pour vider une liste :
Private Sub Commande0_Click()
deSelectionneTout Me.lst_intervenants ' (nom de la liste qui dans ce cas
sera pris comme objet)
End Sub
Sub deSelectionneTout(lst As ListBox)
Dim I As Variant
For Each I In lst .ItemsSelected
lst .Selected(I) = False
Next I
End Sub
ou
Sub deSelectionneTout(lst As ListBox)
Dim i As Integer
For i = 0 To Liste.ListCount - 1
Liste.Selected(i) = False
Next
End Sub
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
<anonymous@discussions.microsoft.com> a écrit dans le message de
news:9bd101c4341a$60621050$a101280a@phx.gbl...
Bonjour,
J'essaye de créer une procédure qui prend en argument une
zone de liste :
Sub deSelectionneTout(lst As ListBox)
For i = 0 To lst.ListCount - 1
lst.Selected(i) = False
Next
End Sub
cette procédure est appelée de la sorte :
call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur
d'execution '424' : objet requis"). En
fait "lst_intervenants" correspond à la valeur de
l'élément sélectionné dans la liste mais pas à tout
l'objet lui même...
Comment faire pour transmettre à la procédure
l'intégralité de l'objet "zone de liste" ??
a écrit dans le message de news:9bd101c4341a$60621050$ Bonjour,
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
Raymond [mvp]
Bonjour Pierre;
un truc extraordinaire:
n'ayant pas précisé que la sub devait être dans le code du formulaire, je me dis : Pierre a raison , faut passer la sub dans un module standard et je remplace "sub" par public function et je transfère le tout dans le module. je me dis encore, quelles est l'erreur exact qu'il va me sortir vu qu'il ne connait plus l'objet formulaire ? j'exécute la function: résultat: la liste est vidée comme si la fonction était sur le formulaire, pas d'erreur. ce qui tendrait à confirmer que le passage d'un objet suffit à une fonction pour le retrouver sans lui indiquer l'objet parent. ce qui encore peut ouvrir des voies nouvelles à explorer en ce qui concerne les modules et les fonctions avec des objets de formulaires. Qu'en penses-tu ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" a écrit dans le message de news:
..../.... ou passer le nom du form et le nom de la liste
-- Pierre CFI
Bonjour Pierre;
un truc extraordinaire:
n'ayant pas précisé que la sub devait être dans le code du formulaire, je me
dis : Pierre a raison , faut passer la sub dans un module standard et je
remplace "sub" par public function et je transfère le tout dans le module.
je me dis encore, quelles est l'erreur exact qu'il va me sortir vu qu'il ne
connait plus l'objet formulaire ?
j'exécute la function: résultat: la liste est vidée comme si la fonction
était sur le formulaire, pas d'erreur.
ce qui tendrait à confirmer que le passage d'un objet suffit à une fonction
pour le retrouver sans lui indiquer l'objet parent. ce qui encore peut
ouvrir des voies nouvelles à explorer en ce qui concerne les modules et les
fonctions avec des objets de formulaires. Qu'en penses-tu ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news:uidOgGCNEHA.3400@TK2MSFTNGP09.phx.gbl...
..../....
ou passer le nom du form et le nom de la liste
n'ayant pas précisé que la sub devait être dans le code du formulaire, je me dis : Pierre a raison , faut passer la sub dans un module standard et je remplace "sub" par public function et je transfère le tout dans le module. je me dis encore, quelles est l'erreur exact qu'il va me sortir vu qu'il ne connait plus l'objet formulaire ? j'exécute la function: résultat: la liste est vidée comme si la fonction était sur le formulaire, pas d'erreur. ce qui tendrait à confirmer que le passage d'un objet suffit à une fonction pour le retrouver sans lui indiquer l'objet parent. ce qui encore peut ouvrir des voies nouvelles à explorer en ce qui concerne les modules et les fonctions avec des objets de formulaires. Qu'en penses-tu ? -- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Pierre CFI [mvp]" a écrit dans le message de news:
..../.... ou passer le nom du form et le nom de la liste
-- Pierre CFI
Jérôme W.
Ca marche en faisant :
call deSelectionneTout(me.lst_intervenants)
sub deSelectionneTout (Byref lst as ListBox) ... end sub
Jérôme
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour si cette sub est dans un module, c'est le form qu'il faut passer Sub deSelectionneTout(F As Form) For i = 0 To F.lst_intervenants.ListCount - 1 F.lst_intervenants.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : dans le form ou est la liste call deSelectionneTout(Me)
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??
Merci Jérôme
Ca marche en faisant :
call deSelectionneTout(me.lst_intervenants)
sub deSelectionneTout (Byref lst as ListBox)
...
end sub
Jérôme
"Pierre CFI [mvp]" <XXX_pierresalaun@aol.com> a écrit dans le message de
news: eGB2DGCNEHA.2976@TK2MSFTNGP10.phx.gbl...
bonjour
si cette sub est dans un module, c'est le form qu'il faut passer
Sub deSelectionneTout(F As Form)
For i = 0 To F.lst_intervenants.ListCount - 1
F.lst_intervenants.Selected(i) = False
Next
End Sub
cette procédure est appelée de la sorte : dans le form ou est la liste
call deSelectionneTout(Me)
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
<anonymous@discussions.microsoft.com> a écrit dans le message de
news:9bd101c4341a$60621050$a101280a@phx.gbl...
Bonjour,
J'essaye de créer une procédure qui prend en argument une
zone de liste :
Sub deSelectionneTout(lst As ListBox)
For i = 0 To lst.ListCount - 1
lst.Selected(i) = False
Next
End Sub
cette procédure est appelée de la sorte :
call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur
d'execution '424' : objet requis"). En
fait "lst_intervenants" correspond à la valeur de
l'élément sélectionné dans la liste mais pas à tout
l'objet lui même...
Comment faire pour transmettre à la procédure
l'intégralité de l'objet "zone de liste" ??
sub deSelectionneTout (Byref lst as ListBox) ... end sub
Jérôme
"Pierre CFI [mvp]" a écrit dans le message de news:
bonjour si cette sub est dans un module, c'est le form qu'il faut passer Sub deSelectionneTout(F As Form) For i = 0 To F.lst_intervenants.ListCount - 1 F.lst_intervenants.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : dans le form ou est la liste call deSelectionneTout(Me)
J'essaye de créer une procédure qui prend en argument une zone de liste :
Sub deSelectionneTout(lst As ListBox) For i = 0 To lst.ListCount - 1 lst.Selected(i) = False Next End Sub
cette procédure est appelée de la sorte : call deSelectionneTout(lst_intervenants)
malheureusement Access génére une erreur ("erreur d'execution '424' : objet requis"). En fait "lst_intervenants" correspond à la valeur de l'élément sélectionné dans la liste mais pas à tout l'objet lui même... Comment faire pour transmettre à la procédure l'intégralité de l'objet "zone de liste" ??