TextBox

Le
garnote
Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )
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
Misange
Le #4803851
Bonjour Serge,

http://www.excelabo.net/excel/controlestypes.php#bouclecontrole

Solution 2
For i = 1 To 20
msg= "la valeur du textbox " & i & "est : " & _
Controls("CommandButton" & i).Caption
Next i

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, ... , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )




JB
Le #4803841
Bonjour,

Les champs ont pour nom note1,note2,......

x="note2"

Controls(x) ou Me(x) donne le contenu du champ note2

Private Sub b_ok_Click()
'--- ' contrôles
For i = 1 To 5
If Not IsNumeric(Controls("note" & i)) Then
MsgBox "Erreur!"
Me("note" & i).SetFocus
Exit Sub
End If
Next i
'---transfert BD
[A65000].End(xlUp).Offset(1, 0).Select
ActiveCell = Me.nom
For i = 1 To 5
ActiveCell.Offset(0, i) = CDbl(Controls("note" & i))
Next i
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/Form_ChampsIndices.xls

JB


On 16 août, 17:02, "garnote"
Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, ... , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )


MichDenis
Le #4803831
Msgbox Controls("Textbox" & MyVar).value



"garnote"
Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, ... , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )
garnote
Le #4803731
Merci Misange, merci JB et merci Denis.

Ce qui me permet d'utiliser ce code :
Private Sub CommandButton1_Click()
On Error Resume Next
Dim i , s as Double
For Each i In Array(2, 3, 5,7,11,13,17,19)
s = s + CDbl(Controls("TextBox" & i)) ^ 2
Next i
MsgBox s
End Sub

Serge


"MichDenis"

Msgbox Controls("Textbox" & MyVar).value



"garnote"
Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, ... , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )





MichDenis
Le #4803721
ERREUR :

| Dim i , s as Double

cette façon de faire pour déclarer les variables est erronée.

seule la variable s est affublé du type "Double" , i = variant.

Il aurait fallut :
Dim i as integer , s as Double

;-)




"garnote"
Merci Misange, merci JB et merci Denis.

Ce qui me permet d'utiliser ce code :
Private Sub CommandButton1_Click()
On Error Resume Next
Dim i , s as Double
For Each i In Array(2, 3, 5,7,11,13,17,19)
s = s + CDbl(Controls("TextBox" & i)) ^ 2
Next i
MsgBox s
End Sub

Serge


"MichDenis"

Msgbox Controls("Textbox" & MyVar).value



"garnote"
Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, ... , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )





garnote
Le #4803691
ERREUR :
Mais non, mais non !

Si je déclare i comme Integer, ça génère une erreur !

seule la variable s est affublé du type "Double" , i = variant.
C'est ce qu'il faut (Array), non ?


Serge


"MichDenis"

| Dim i , s as Double

cette façon de faire pour déclarer les variables est erronée.

seule la variable s est affublé du type "Double" , i = variant.

Il aurait fallut :
Dim i as integer , s as Double

;-)




"garnote"
Merci Misange, merci JB et merci Denis.

Ce qui me permet d'utiliser ce code :
Private Sub CommandButton1_Click()
On Error Resume Next
Dim i , s as Double
For Each i In Array(2, 3, 5,7,11,13,17,19)
s = s + CDbl(Controls("TextBox" & i)) ^ 2
Next i
MsgBox s
End Sub

Serge


"MichDenis"

Msgbox Controls("Textbox" & MyVar).value



"garnote"
Bonjour, Bonjour,

Supposons qu'un UserForm contienne 20 TextBox nommés
respectivement TextBox1, TextBox2, ... , TextBox19, TextBox20.
Comment faire pour obtenir la valeur d'un TextBox en utilisant une
variable i ? Du genre TextBox & i

Serge
Que font 2 et 2 ?
Ils ne font rien, ils se reposent ( J.P. )










garnote
Le #4803681
seule la variable s est affublé du type "Double" , i = variant.
C'est ce qu'il faut (Array), non ?
C'est plutôt parce que j'utilise un For Each, n'est-il pas ?


Serge

MichDenis
Le #4803661
Je n'ai pas remarqué que tu faisais une boucle
sur les éléments d'un tableau et dans ce cas particulier
la variable i doit être déclaré comme variant.
Publicité
Poster une réponse
Anonyme