OVH Cloud OVH Cloud

Pour LSteph

1 réponse
Avatar
Serge Hipontoise
Hello LSteph
Tout d'abord un grand merci !!!
En effet, c'est bizarre mais je dois aller sur Google pour voir les réponses
à mes propres messages !!!
Toujours est-il que j'ai ainsi découvert que tu avais répondu à ma question
du 6 juillet (sic !)
Je t'en remercie donc encore !!!
J'avais demandé comment utiliser les noms de la première ligne dans une
liste déroulante afin de récupérer en valeur la lettre de la colonne. Et tu
m'avais répondu :
--------------------------------------

'****
'dans module standard
'***
Public that1 As New Collection
Sub aazz()
UserForm1.Show
End Sub


'***
'dans code userform1
'***
Private Sub ComboBox1_Change()
TextBox1 = that1(ComboBox1.ListIndex + 1)
End Sub



Private Sub UserForm_Initialize()
Dim c As Range


On Error Resume Next


For Each c In ActiveSheet.Rows(1).Cells
If IsEmpty(c) Then Exit For
that1.Add Mid(c.Address, 2, _
WorksheetFunction.Find("$", c.Address, 2) - 2)
ComboBox1.AddItem c
Next
On Error GoTo 0


End Sub

--------------------

ce qui fonctionne à merveille !!!

Si ce n'est pas abuser ... dans la même idée, comment faire le contraire, à
savoir une fois ma valeur stockée, comment faire pour que l'élément
correspondant dans la liste soit sélectionné automatqiuement quand j'ouvre
le userform ?

Encore un grand merci !

Serge

1 réponse

Avatar
LSteph
Salut Serge,

Ce n'est pas bien grave , l'important c'est que tu l'aies finalement eu.
De toutes façons le lendemain matin je prenais l'avion pour rejoindre mon
lieu de vacances...
Il faut corriger un détail que je t'indique plus bas (on se rend un peu plus
compte de ce que l'on écrit avec du recul)
à savoir remettre à 0 la collection pour quand on la réutilise...

Sinon, le Uf charge sa liste et la collection à l'initialisation , alors je
ne suis pas bien sûr de ta question
savoir une fois ma valeur stockée, comment faire pour que l'élément
correspondant dans la liste soit sélectionné automatqiuement quand j'ouvre
le userform ?
Si tu ouvres le userform , il ne peut pas être déjà stocké et/ou donc pas

sélectionné dans la liste,
ou quelquechose m'échappe!? Alors si c'est cela onpeut qd même stocker
provisoirement en vue
de la réouverture.
Ainsi, on peut le faire dans une variable publique mais qui persistera
uniquement pendant la session et
sous réserve qu'aucun End n'intervienne. Voici plus bas le nouveau code.

a+
lSteph

'''***dans module1***
Public that1 As New Collection
Public mavar As String
Sub aazz()

UserForm1.Show

End Sub

'***dans code uesrform1**

Private Sub ComboBox1_Change()
TextBox1 = that1(ComboBox1.ListIndex + 1)
mavar = ComboBox1.ListIndex
End Sub


Private Sub UserForm_Initialize()
Dim c As Range

On Error Resume Next
Do While that1.Count > 0
that1.Remove 1
Loop
For Each c In ActiveSheet.Rows(1).Cells
If IsEmpty(c) Then Exit For
that1.Add Mid(c.Address, 2, _
WorksheetFunction.Find("$", c.Address, 2) - 2)
ComboBox1.AddItem c
Next
On Error GoTo 0
ComboBox1.ListIndex = Val(mavar)
End Sub

'****

"Serge Hipontoise" a écrit dans le
message de news: 4311d87d$0$6446$
Hello LSteph
Tout d'abord un grand merci !!!
En effet, c'est bizarre mais je dois aller sur Google pour voir les
réponses à mes propres messages !!!
Toujours est-il que j'ai ainsi découvert que tu avais répondu à ma
question du 6 juillet (sic !)
Je t'en remercie donc encore !!!
J'avais demandé comment utiliser les noms de la première ligne dans une
liste déroulante afin de récupérer en valeur la lettre de la colonne. Et
tu m'avais répondu :
--------------------------------------

'****
'dans module standard
'***
Public that1 As New Collection
Sub aazz()
UserForm1.Show
End Sub


'***
'dans code userform1
'***
Private Sub ComboBox1_Change()
TextBox1 = that1(ComboBox1.ListIndex + 1)
End Sub



Private Sub UserForm_Initialize()
Dim c As Range


On Error Resume Next


For Each c In ActiveSheet.Rows(1).Cells
If IsEmpty(c) Then Exit For
that1.Add Mid(c.Address, 2, _
WorksheetFunction.Find("$", c.Address, 2) - 2)
ComboBox1.AddItem c
Next
On Error GoTo 0


End Sub

--------------------

ce qui fonctionne à merveille !!!

Si ce n'est pas abuser ... dans la même idée, comment faire le contraire,
à savoir une fois ma valeur stockée, comment faire pour que l'élément
correspondant dans la liste soit sélectionné automatqiuement quand j'ouvre
le userform ?

Encore un grand merci !

Serge