OVH Cloud OVH Cloud

No d'index de l'UF active

3 réponses
Avatar
Gadget
Toujours et encore moi.

Comment connaître l'index de la userform active ? J'ai essayé de passer le
nom en paramètre ------> Userforms("NomdelaUF").etc ---- mais ça ne
marche pas. Il semble que je doive connaître l'index numérique de la UF.

Merci et a plus...

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!

3 réponses

Avatar
Pascal Engelmajer
Salut,
la collection Userforms concerne les userforms en mémoire (Load userform1,
ou .show et .hide)
le numéro est celui de l'ordre alphabétique des noms.
si tu crée une table
public tUsr(10)
puis
sub init()
Set tUsr(1) = userform1
.../...
end sub



tUsr(1).show
rendras le résultat que tu cherches

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Gadget" a écrit dans le message de news:
408f7f15$0$12023$
Toujours et encore moi.

Comment connaître l'index de la userform active ? J'ai essayé de passer le
nom en paramètre ------> Userforms("NomdelaUF").etc ---- mais ça ne
marche pas. Il semble que je doive connaître l'index numérique de la UF.

Merci et a plus...

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!




Avatar
Gadget
Interessant. Tu veux dire q'uen créant une nouvelle instance de la
collection Userforms, je peux attribuer moi-même le numéro d'index. Merci.
Néanmoins, j'ai trouvé une autre solution, que j'indique ici pour info :
J'ai créé une variable publique ActiveUF as String, et dans les _Activate et
_Initialize de chacune de mes UF, j'y affecte le nom de l'UF concernée,
puis, dans un module :

for index=0 to (Userforms.count - 1)
If UserForms.Item(index).Name = ActiveUF Then
msgbox " N° d'index de " & ActiveUF & " -->" index
end if
Next index

voilà voilà.
K.
--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!
"Pascal Engelmajer" a écrit dans le
message de news:
Salut,
la collection Userforms concerne les userforms en mémoire (Load userform1,
ou .show et .hide)
le numéro est celui de l'ordre alphabétique des noms.
si tu crée une table
public tUsr(10)
puis
sub init()
Set tUsr(1) = userform1
.../...
end sub



tUsr(1).show
rendras le résultat que tu cherches

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Gadget" a écrit dans le message de news:
408f7f15$0$12023$
Toujours et encore moi.

Comment connaître l'index de la userform active ? J'ai essayé de passer
le


nom en paramètre ------> Userforms("NomdelaUF").etc ---- mais ça ne
marche pas. Il semble que je doive connaître l'index numérique de la UF.

Merci et a plus...

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!








Avatar
Michel Pierron
Bonjour Gadget;
FormIdx retourne l'index de l'userform actif (si bien sur, plusieurs sont chargés,
sinon, c'est toujours 0):
Function FormIdx() As Integer
Dim lForm As Long
For FormIdx = 0 To UserForms.Count - 1
If UserForms(FormIdx).Visible Then
MsgBox UserForms(FormIdx).Name
Exit For
End If
Next
End Function

MP

"Gadget" a écrit dans le message de
news:408f7f15$0$12023$
Toujours et encore moi.

Comment connaître l'index de la userform active ? J'ai essayé de passer le
nom en paramètre ------> Userforms("NomdelaUF").etc ---- mais ça ne
marche pas. Il semble que je doive connaître l'index numérique de la UF.

Merci et a plus...

--
--
Carpe Diem Quam Minimum Credula Postera
Bicose
Sic Transit Gloria Mundi, et
Arx Tarpeia Capitoli Proxima !!