Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

combobox

3 réponses
Avatar
pedro
Bonjour à tous

J’aimerais quand j'ouvre une userform que mon combobox à menu déroulant
affiche la dernière donnée que j'ai insère la veille sans devoir cliqué sur
le menu pour remettre la même valeur, car maintenant elle reste vide.

Car mon problème c’est que je dois remettre toute les données à chaque fois
que j’ouvre le formulaire et c’est assez embêtant.

Merci d’avance

3 réponses

Avatar
LE TROLL
Bonjour,

Il faut, soit les enregistrer en dur dans ton
code, soit les mettre en fichier, les données,
tout dépend de leur nature surtout. Ainsi, au
lancement, tu vas où se trouvent les données, et
tu les charges dans le comboBox.

Pour afficher la dernière donnée mise la
veille, pareil, deux cas, soit tu tries, et là il
faudra mémoriser son index en fichier, soit tu ne
tries, et dans ce cas, ce sera:
Combo1.ListIndex = Combo1.ListCount -1

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"pedro" a écrit
dans le message de news:

| Bonjour à tous
|
| J'aimerais quand j'ouvre une userform que mon
combobox à menu déroulant
| affiche la dernière donnée que j'ai insère la
veille sans devoir cliqué sur
| le menu pour remettre la même valeur, car
maintenant elle reste vide.
|
| Car mon problème c'est que je dois remettre
toute les données à chaque fois
| que j'ouvre le formulaire et c'est assez
embêtant.
|
| Merci d'avance
|
Avatar
Daniel.C
Bonjour.
De quelle manière remplis-tu ton combobox ?
Tu peux coder manuellement la propriété RowSource, dans ce cas, c'est fait
une fois pour toute.
Tu peux coder la propriété RowSource à l'initialisation del'userform :

Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "A1:A5"
End Sub

Si tu utilises la méthode "AddItem", toujours à l'utilisation de l'userform
:

Private Sub UserForm_Initialize()
With Me.ComboBox1
For Each c In Range("A1", Range("A65536").End(xlUp))
.AddItem c.Value
Next c
.Value = .List(.ListCount - 1)
End With
End Sub

La ligne :
.Value = .List(.ListCount - 1)
sert à afficher la dernière valeur.
Si tu veux un classeur exemple, n'hésite pas à le dire.
Cordialement.
Daniel
"pedro" a écrit dans le message de news:

Bonjour à tous

J'aimerais quand j'ouvre une userform que mon combobox à menu déroulant
affiche la dernière donnée que j'ai insère la veille sans devoir cliqué
sur
le menu pour remettre la même valeur, car maintenant elle reste vide.

Car mon problème c'est que je dois remettre toute les données à chaque
fois
que j'ouvre le formulaire et c'est assez embêtant.

Merci d'avance



Avatar
JB
Bonjour,

Private Sub UserForm_Initialize()
Me.ComboBox1.ListIndex = 0
On Error Resume Next
Me.ComboBox1.ListIndex = Val([mémo])
End Sub

Private Sub ComboBox1_Change()
If Me.ComboBox1.ListIndex <> 0 Then
ActiveWorkbook.Names.Add Name:="mémo",
RefersTo:=Me.ComboBox1.ListIndex
End If
End Sub

http://cjoint.com/?cCj2VGGxlu

JB
http://boisgontierjacques.free.fr

On 28 fév, 09:32, "LE TROLL" <le wrote:
        Bonjour,

    Il faut, soit les enregistrer en dur dans ton
code, soit les mettre en fichier, les données,
tout dépend de leur nature surtout. Ainsi, au
lancement, tu vas où se trouvent les données, et
tu les charges dans le comboBox.

    Pour afficher la dernière donnée mise la
veille, pareil, deux cas, soit tu tries, et là il
faudra mémoriser son index en fichier, soit tu ne
tries, et dans ce cas, ce sera:
Combo1.ListIndex = Combo1.ListCount -1

--
Romans, logiciels, email, site personnelhttp://irolog.free.fr/joe.htm
-------------------------------------------------------------------------- -­---------
"pedro" a écrit
dans le message de news:

| Bonjour à tous
|
| J'aimerais quand j'ouvre une userform que mon
combobox à menu déroulant
| affiche la dernière donnée que j'ai insère la
veille sans devoir cliqué sur
| le menu pour remettre la même valeur, car
maintenant elle reste vide.
|
| Car mon problème c'est que je dois remettre
toute les données à chaque fois
| que j'ouvre le formulaire et c'est assez
embêtant.
|
| Merci d'avance
|