Initialiser TextBox

Le
JPMonnier
Bonjour,
J'ai un Userform avec plusieurs Frame,
Je souhaiterais initialiser 20 textbox par une boucle plutot que faire
Me.TextBox1 ="" (20 fois)
Est-il possible par une boucle "style For Each" d'éviter de les initialiser
1 par 1
J'ai ce cas dans plusieurs Frame
Merci d'avance
--
Cordialement
jpmonnier-no-spam@neuf.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #16359501
Salut à toi

Je tenterai d'utiliser ce type de boucle :

For i = 1 To 20
Liste = TextBox & i
Me.Liste = ""
Next

Mais je ne sais pas si celà fonctionne

Fais des essais et dis moi !!!!
lSteph
Le #16361481
Bonjour,

un exemple extrait ...donc à adapter (ici j'ai un spinbutton qui doit
me permettre ensuite le défilement)
A noter que pour le bon fonctionnement les contrôles sont ordonnés et
ont gardé leur nom générique :

Private Sub UserForm_Initialize()
Dim i As Byte
Frame2.Caption = SpinButton1
For i = 1 To 30
Me.Controls("Label" & i).Caption = Feuil1.Cells(1, i)
Me.Controls("TextBox" & i) = Feuil1.Cells(SpinButton1, i)
Next
End Sub


'lSteph


On 18 juil, 07:20, "JPMonnier"
Bonjour,
J'ai un Userform avec plusieurs Frame,
Je souhaiterais initialiser 20 textbox par une boucle plutot que faire
Me.TextBox1 ="" (20 fois)
Est-il possible par une boucle "style For Each" d'éviter de les initial iser
1 par 1
J'ai ce cas dans plusieurs Frame
Merci d'avance
--
Cordialement



JPMonnier
Le #16362691
Salut FFO
Désolé ça ne va pas : Mon pb est que mes Name de textbox sont PBSF, PBSG,
PTSF,PTSG etc (Mnémonique pour m'y retouver)
Donc je souhaiterais les passer en variable soit :
Me.Variable (Variable = mes noms de TextBox)
Je ne sais pas si c'est faisable !
Merci
--
Cordialement




"FFO" news:
Salut à toi

Je tenterai d'utiliser ce type de boucle :

For i = 1 To 20
Liste = TextBox & i
Me.Liste = ""
Next

Mais je ne sais pas si celà fonctionne

Fais des essais et dis moi !!!!


JPMonnier
Le #16362661
Salut lSteph,
Merci pour ta réponse
je vois que mes nomns n'étant pas les noms génériques, ceci ne peut
fonctionner
Je ne sais pas si il y a une solution
Merci
--
Cordialement


"lSteph" news:
Bonjour,

un exemple extrait ...donc à adapter (ici j'ai un spinbutton qui doit
me permettre ensuite le défilement)
A noter que pour le bon fonctionnement les contrôles sont ordonnés et
ont gardé leur nom générique :

Private Sub UserForm_Initialize()
Dim i As Byte
Frame2.Caption = SpinButton1
For i = 1 To 30
Me.Controls("Label" & i).Caption = Feuil1.Cells(1, i)
Me.Controls("TextBox" & i) = Feuil1.Cells(SpinButton1, i)
Next
End Sub


'lSteph


On 18 juil, 07:20, "JPMonnier"
Bonjour,
J'ai un Userform avec plusieurs Frame,
Je souhaiterais initialiser 20 textbox par une boucle plutot que faire
Me.TextBox1 ="" (20 fois)
Est-il possible par une boucle "style For Each" d'éviter de les
initialiser
1 par 1
J'ai ce cas dans plusieurs Frame
Merci d'avance
--
Cordialement



LSteph
Le #16365691
Private Sub UserForm_Initialize()
Dim ctl As Control, i As Byte
i = 0
For Each ctl In Me.Controls
If TypeOf ctl Is msforms.TextBox Then
i = i + 1
ctl.Text = Cells(1, i)
End If
Next
End Sub

':-)

JPMonnier a écrit :
Salut lSteph,
Merci pour ta réponse
je vois que mes nomns n'étant pas les noms génériques, ceci ne peut
fonctionner
Je ne sais pas si il y a une solution
Merci


JPMonnier
Le #16366001
Merci infiniment LlSteph c'est nickel
j'ai remplacé ctl.Text = Cells(1, i)
par ctl.Text = "", qui me met toutes mes textbox à "", ce que je voulais
C'est le top !
J'en apprend tous les jours ici !
Plus je pose des questions sur ce forum, plus je me rend compte que je suis
tout petit !
Si j'avais eu la chance d'avoir un tel forum quand j'étais en activité,
c'est moi qui répondrais aus posts aujourd'hui
Si je reprenais tout ce que j'ai developpé en VBA, la longueur de mes
procédures serait divisée par 10 !!
Chapeau et encore merci pour le partage des connaissances
Jean Pierre
--
Cordialement

"LSteph" news:%
Private Sub UserForm_Initialize()
Dim ctl As Control, i As Byte
i = 0
For Each ctl In Me.Controls
If TypeOf ctl Is msforms.TextBox Then
i = i + 1
ctl.Text = Cells(1, i)
End If
Next
End Sub

':-)

JPMonnier a écrit :
Salut lSteph,
Merci pour ta réponse
je vois que mes nomns n'étant pas les noms génériques, ceci ne peut
fonctionner
Je ne sais pas si il y a une solution
Merci




Publicité
Poster une réponse
Anonyme