OVH Cloud OVH Cloud

Pour LSteph

3 réponses
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

3 réponses

Avatar
LSteph
Salut Serge,

Ce n'est pas bien grave , l'important c'est que tu l'ai 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: 4311d8a7$0$6450$
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




Avatar
Serge Hipontoise
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!?


En fait, je stocke la lettre de la colonne en variable dans un classeur
caché, je peux donc récupérer la lettre de la colonne qui m'intéresse a tout
moment. Ce que je cherche a faire c'est, si cette variable est deja
renseignée (ex la colonne "E") je positionne la liste sur le titre de la
colonne E. Si la variable n'est pas renseignée, la liste est vide.
Dans cette version, apparemment tu utilise le chiffre de la colonne pour ta
variable "mavar" serait-il possible de positionner la liste en partant de la
lettre ?

Un grand merci encore pour ta réponse en tout cas :o) !
Serge


Avatar
LSteph
Re,
Donc , c'était bien le but repositionner la liste lors d'une réouverture de
l'UF

Dans cette version, apparemment tu utilise le chiffre de la colonne pour
ta


non, j'utilise l'index de liste de la combobox!

variable "mavar" serait-il possible de positionner la liste en partant de
la lettre ?
En l'état est-ce incompatible avec ton objectif?

si oui pourquoi?
(...j'entend on va peut-être pouvoir simplifier si pas la peine de stocker
des trucs partout)
En fait, je stocke la lettre de la colonne en variable dans un classeur
caché, je peux donc récupérer la lettre de la colonne qui m'intéresse a
tout
car à ce moment là c'est probablement dans le combobox_change

qu'il faudrait viser aussi le classeur caché en question pour y stocker la
lettre...si c'est ce que tu préfères?
En tout cas pour la remise à jour de combobox mémoriser le listindex est
plutôt commode!

A+

lSteph

"Serge Hipontoise" a écrit dans le
message de news: 4311fe1b$0$1826$

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!?


En fait, je stocke la lettre de la colonne en variable dans un classeur
caché, je peux donc récupérer la lettre de la colonne qui m'intéresse a
tout moment. Ce que je cherche a faire c'est, si cette variable est deja
renseignée (ex la colonne "E") je positionne la liste sur le titre de la
colonne E. Si la variable n'est pas renseignée, la liste est vide.
Dans cette version, apparemment tu utilise le chiffre de la colonne pour
ta variable "mavar" serait-il possible de positionner la liste en partant
de la lettre ?

Un grand merci encore pour ta réponse en tout cas :o) !
Serge