Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TextBox

8 réponses
Avatar
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. )

8 réponses

Avatar
Misange
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. )




Avatar
JB
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" wrote:
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. )


Avatar
MichDenis
Msgbox Controls("Textbox" & MyVar).value



"garnote" a écrit dans le message de news:

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. )
Avatar
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" a écrit dans le message de news:

Msgbox Controls("Textbox" & MyVar).value



"garnote" a écrit dans le message de news:

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. )





Avatar
MichDenis
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" a écrit dans le message de news:

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" a écrit dans le message de news:


Msgbox Controls("Textbox" & MyVar).value



"garnote" a écrit dans le message de news:

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. )





Avatar
garnote
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" a écrit dans le message de news:

| 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" a écrit dans le message de news:

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" a écrit dans le message de news:


Msgbox Controls("Textbox" & MyVar).value



"garnote" a écrit dans le message de news:

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. )










Avatar
garnote
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

Avatar
MichDenis
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.