OVH Cloud OVH Cloud

Liste déroulante

6 réponses
Avatar
mmb.mehdi
Bonjour =E0 tous,

Comment faire pour que la valeur par d=E9fault d'une liste=20
d=E9roulante soit celle s=E9lectionn=E9e par l'utilisateur.

J'ai eu liste : Janvier --> D=E9cembre

je veux que lorsque l'utilisateur s=E9lectionne par exemple=20
F=E9vrier, =E0 la prochaine ouverture du formulaire la valeur=20
par d=E9fault soit F=E9vrier.

merci pour votre aide

6 réponses

Avatar
Michel Gesnot
Bonjour,

Une piste :
ListIndex vous donne la valeur sélectionnée
DefaultValue permet de fixer la valeur par défaut

Dans l'événement SurPerteFocus (ou SurSortie ?), tester
ListIndex et l'affecter à DefaultValue.

Cela suppose qu'une valeur ait été sélectionnée et que la
liste ne permette qu'une seule sélection (MultiSelect à 0).

Bon travail
M. Gesnot


-----Message d'origine-----
Bonjour à tous,

Comment faire pour que la valeur par défault d'une liste
déroulante soit celle sélectionnée par l'utilisateur.

J'ai eu liste : Janvier --> Décembre

je veux que lorsque l'utilisateur sélectionne par exemple
Février, à la prochaine ouverture du formulaire la valeur
par défault soit Février.

merci pour votre aide
.



Avatar
merci pour cette piste, cependant la liste ne garde pas la
valeur lors de l'ouverture suivante du formulaire!

n'y a t-il-pas un moyen de sauvergarder en quittant?
-----Message d'origine-----
Bonjour,

Une piste :
ListIndex vous donne la valeur sélectionnée
DefaultValue permet de fixer la valeur par défaut

Dans l'événement SurPerteFocus (ou SurSortie ?), tester
ListIndex et l'affecter à DefaultValue.

Cela suppose qu'une valeur ait été sélectionnée et que la
liste ne permette qu'une seule sélection (MultiSelect à
0).


Bon travail
M. Gesnot


-----Message d'origine-----
Bonjour à tous,

Comment faire pour que la valeur par défault d'une liste
déroulante soit celle sélectionnée par l'utilisateur.

J'ai eu liste : Janvier --> Décembre

je veux que lorsque l'utilisateur sélectionne par
exemple


Février, à la prochaine ouverture du formulaire la
valeur


par défault soit Février.

merci pour votre aide
.

.





Avatar
Anor
Bonjour,

wrote:
| merci pour cette piste, cependant la liste ne garde pas la
| valeur lors de l'ouverture suivante du formulaire!
|
| n'y a t-il-pas un moyen de sauvergarder en quittant?


mon idée initiale consistait à stocker la sélection dans une variable globale d'un module
standard

Ecriture à la volée juste pour donner le principe.

Option Compare Database
Option Explicit

Public Function fMemoire() As Variant
Static strSauvegarde As Variant

If Len(strSauvegarde) > 0 Then
fMemoire= strSauvegarde
else
strSauvegarde = forms!LeForm!Lazonedeliste.Value
fMemoire = strSauvegarde
End If
End Function

il reste donc à appeler la fonction fMemoire comme valeur par défaut
et à rajouter quelques lignes de code soit dans cette fonction,
soit dans un événement de la zone de liste modifiable
pour mettre à jour la variable strSauvegarde après chaque saisie.

à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Avatar
ou est ce que j'initialise strSauvegarde?
parcequ'à la 1ere ouverture
forms!LeForm!Lazonedeliste.Value ne contient rien!
-----Message d'origine-----
Bonjour,

wrote:
| merci pour cette piste, cependant la liste ne garde pas
la

| valeur lors de l'ouverture suivante du formulaire!
|
| n'y a t-il-pas un moyen de sauvergarder en quittant?


mon idée initiale consistait à stocker la sélection dans
une variable globale d'un module

standard

Ecriture à la volée juste pour donner le principe.

Option Compare Database
Option Explicit

Public Function fMemoire() As Variant
Static strSauvegarde As Variant

If Len(strSauvegarde) > 0 Then
fMemoire= strSauvegarde
else
strSauvegarde = forms!LeForm!Lazonedeliste.Value
fMemoire = strSauvegarde
End If
End Function

il reste donc à appeler la fonction fMemoire comme valeur
par défaut

et à rajouter quelques lignes de code soit dans cette
fonction,

soit dans un événement de la zone de liste modifiable
pour mettre à jour la variable strSauvegarde après chaque
saisie.


à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------


.



Avatar
Anor
Bonjour, "anonymous" !

wrote:
| ou est ce que j'initialise strSauvegarde?
| parcequ'à la 1ere ouverture
| forms!LeForm!Lazonedeliste.Value ne contient rien!

C'est si gentiement demandé :o)

Alors tant pis pour toi, tu n'auras même pas la satisfaction
de pondre une fonction tout seul alors que je t'avais donné
une bonne piste.

Mettre ceci en valeur par défaut :
=fMemory()

et Mettre cela dans l'événement "sur après mise à jour" :
=fMemory([toncontrole].[Value])

Voilà, il ne reste plus qu'à copier le code ci-dessous
dans un nouveau module qui s'appellera BasMemory par exemple :

Option Compare Database
Option Explicit

Public Function fMemory(Optional NouvelleValeur As Variant) As String
Static strSauvegarde As String
fMemory = strSauvegarde
If Not IsMissing(NouvelleValeur) Then: strSauvegarde = Nz(NouvelleValeur, "")
End Function

Voilà et pour moi, il ne me reste plus qu'à mettre ça sur mon site,
car je n'ai pas souvenance qu'une telle fonction ait été un jour proposée

au départ, elle faisait 15 lignes et la voici réduite à 5 lignes !!

;-)))

à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
Avatar
Merci merci!!!!!!!
-----Message d'origine-----
Bonjour, "anonymous" !

wrote:
| ou est ce que j'initialise strSauvegarde?
| parcequ'à la 1ere ouverture
| forms!LeForm!Lazonedeliste.Value ne contient rien!

C'est si gentiement demandé :o)

Alors tant pis pour toi, tu n'auras même pas la
satisfaction

de pondre une fonction tout seul alors que je t'avais
donné

une bonne piste.

Mettre ceci en valeur par défaut :
=fMemory()

et Mettre cela dans l'événement "sur après mise à jour" :
=fMemory([toncontrole].[Value])

Voilà, il ne reste plus qu'à copier le code ci-dessous
dans un nouveau module qui s'appellera BasMemory par
exemple :


Option Compare Database
Option Explicit

Public Function fMemory(Optional NouvelleValeur As
Variant) As String

Static strSauvegarde As String
fMemory = strSauvegarde
If Not IsMissing(NouvelleValeur) Then: strSauvegarde
= Nz(NouvelleValeur, "")

End Function

Voilà et pour moi, il ne me reste plus qu'à mettre ça sur
mon site,

car je n'ai pas souvenance qu'une telle fonction ait été
un jour proposée


au départ, elle faisait 15 lignes et la voici réduite à 5
lignes !!


;-)))

à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------


.