Indexation d'objet sous une Macro VB

Le
Frédéric F
Bonjour,

Je cherche indexer les "Textbox" d'une "UserForm"
appartenant une Macro VB; le but etant bien sur de
pouvoir, dans mon programme, faire rfrence
ces "Textbox" sous la forme: Textbox(i) et non: Textbox1,
Textbox2.ce qui me permettrait de simplifier grandement
mon programme.
Je sais qu'il est possible de le faire avec Visual Basic
mais avec les macros VB, je n'y arrive pas. Est-ce normal?

Je vous remercie d'avance pour toute aide.

Bonne journe tous.

Fred.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas B.
Le #1285781
Salut,

Tu peux conserver come noms 'Textbox1', Textbox2'...
Ainsi, tu peux alors faire une fonction qui t'indexe les textbox :

Function Tb_Index(Ind As Long) As Control
Set Tb_Index = UserForm1.Controls("TextBox" & Ind)
End Function


A+
--
Nicolas B.


Bonjour,

Je cherche à indexer les "Textbox" d'une "UserForm"
appartenant à une Macro VB; le but etant bien sur de
pouvoir, dans mon programme, faire référence à
ces "Textbox" sous la forme: Textbox(i) et non: Textbox1,
Textbox2....ce qui me permettrait de simplifier grandement
mon programme.
Je sais qu'il est possible de le faire avec Visual Basic
mais avec les macros VB, je n'y arrive pas. Est-ce normal?

Je vous remercie d'avance pour toute aide.

Bonne journée à tous.

Fred.


Misange
Le #1285775
En complément de la réponse de Nicolas, sur excelabo, page contrôles, tu
trouveras comment boucler sur les contrôles pour leur appliquer un même
traitement comme les remettre à 0.

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


le 08/04/2004 11:38:
Bonjour,

Je cherche à indexer les "Textbox" d'une "UserForm"
appartenant à une Macro VB; le but etant bien sur de
pouvoir, dans mon programme, faire référence à
ces "Textbox" sous la forme: Textbox(i) et non: Textbox1,
Textbox2....ce qui me permettrait de simplifier grandement
mon programme.
Je sais qu'il est possible de le faire avec Visual Basic
mais avec les macros VB, je n'y arrive pas. Est-ce normal?

Je vous remercie d'avance pour toute aide.

Bonne journée à tous.

Fred.



fabienne.HUIEZ
Le #1285766
voici un petit bout de code à adapter à ton cas.
C'est issu de ACCESS. En Excel la propriété ControlType
n'existe pas. On recherche directement sur .Name.

Attribution à des zones de texte de valeurs contenues dans
un tableau dynamique

dim Ctrl as Control

For i=0 to Ubound(selectionne)
entree=selectionne(i)
For Each Ctrl In Me.Controls
If Ctrl.ControlTypeTextBox Then
If Ctrl.Name="TXTan" & i Then
Ctrl.Value=entree
End If
End If
Next Ctrl
Next i

cordialement
fabienne


-----Message d'origine-----
Bonjour,

Je cherche à indexer les "Textbox" d'une "UserForm"
appartenant à une Macro VB; le but etant bien sur de
pouvoir, dans mon programme, faire référence à
ces "Textbox" sous la forme: Textbox(i) et non: Textbox1,
Textbox2....ce qui me permettrait de simplifier
grandement

mon programme.
Je sais qu'il est possible de le faire avec Visual Basic
mais avec les macros VB, je n'y arrive pas. Est-ce normal?

Je vous remercie d'avance pour toute aide.

Bonne journée à tous.

Fred.

.



Fred
Le #1236196
Merci Nico pour ton aide, ca marche nickel et ca me fait
gagner un temps monstre.
A+.
Fred

-----Message d'origine-----
Salut,

Tu peux conserver come noms 'Textbox1', Textbox2'...
Ainsi, tu peux alors faire une fonction qui t'indexe les
textbox :


Function Tb_Index(Ind As Long) As Control
Set Tb_Index = UserForm1.Controls("TextBox" & Ind)
End Function


A+
--
Nicolas B.


Bonjour,

Je cherche à indexer les "Textbox" d'une "UserForm"
appartenant à une Macro VB; le but etant bien sur de
pouvoir, dans mon programme, faire référence à
ces "Textbox" sous la forme: Textbox(i) et non:
Textbox1,


Textbox2....ce qui me permettrait de simplifier
grandement


mon programme.
Je sais qu'il est possible de le faire avec Visual Basic
mais avec les macros VB, je n'y arrive pas. Est-ce
normal?



Je vous remercie d'avance pour toute aide.

Bonne journée à tous.

Fred.



.




Publicité
Poster une réponse
Anonyme