Donner la valeur zéro à plusieurs textbox

tomeeck -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, je débute en vba,

je souhaiterai savoir si l'on peut donner la valeur zéro à plusieurs text box:

ci-dessous mon code qui ne fonctionne pas

dim i as integer
For i = 1 To 30
Textbox & i.Value = 0Next

merci pour votre aide
thomas
A voir également:

3 réponses

f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

'controles feuille de calcul
Private Sub CommandButton1_Click()
Dim Obj As OLEObject
'boucle sur la Feuil1
For Each Obj In Sheets("Feuil1").OLEObjects
'verifie s'il s'agit d'un Textbox
If TypeOf Obj.Object Is MSForms.TextBox And (Obj.Name >= "TextBox1" And Obj.Name <= "TextBox30") Then
Obj.Object.Value = 0
End If
Next Obj
End Sub

'controles dans UserForm
Private Sub CommandButton1_Click()
Dim Cont As Control
'boucle sur de la Feuil1
For Each Cont In Me.Controls
If TypeOf Cont Is MSForms.TextBox And (Cont.Name >= "TextBox1" And Cont.Name <= "TextBox30") Then
Cont.Object.Value = 0
End If
Next Cont
End Sub

'ou
'controles dans UserForm
Private Sub CommandButton3_Click()
For i = 1 To 30
Me("Textbox" & i).Value = 0
Next i
End If

Bonne suite
0
tomeeck
 
ca ne fonctionne pas quand je vais de 3 à 30 alors que ca fonctionne de 3 à 6?
merci

voici mon code :

Private Sub ScrollBar1_change()

Dim Obj As OLEObject

Worksheets("Graphe").Cells(3, 7).Value = ScrollBar1.Value

If ScrollBar1.Value = 0 Then

'boucle sur la Feuille graphe
For Each Obj In Sheets("graphe").OLEObjects
'verifie s'il s'agit d'un Textbox
If TypeOf Obj.Object Is MSForms.Textbox And (Obj.Name >= "TextBox3" And Obj.Name <= "TextBox30") Then
Obj.Object.Value = 0
End If
Next Obj

End If

End Sub



merci
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

enlevez le test:
And (Obj.Name >= "TextBox3" And Obj.Name <= "TextBox30")

ce test marche sur les Userforms mais pas sur les feuilles de calcul

Bonne suite
0
tomeeck
 
merci beaucoup pour vos conseils precieux

j'ose vous poser une autre question.
je cherche à vérifier que la valeur d'une textbox est inférieur à une certaine valeur de ma feuille de calcul mais cette condition n'est jamais vérifié.

Avez vous une solton pour que cette condition soit vérifé
ci-dessous mon code :

Sub ScrollBar1_change()

Worksheets("Feuil1").Cells(1, 1).Value = ScrollBar1.Value
Worksheets("Feuil1").Cells(2, 1).Value = 10
Worksheets("Feuil1").Cells(5, 1).Value = 512

If ScrollBar1.Value = 0 Then
TextBox1.Value = Worksheets("Feuil1").Cells(5, 1).Value

ElseIf ScrollBar1.Value > 0 Then
If TextBox1.Value < Worksheets("Feuil1").Cells(2, 1).Value Then
TextBox1.Value = 0

ElseIf TextBox1.Value >= Worksheets("Feuil1").Cells(2, 1).Value Then
TextBox1.Value = Worksheets("Feuil1").Cells(5, 1).Value - Worksheets("Feuil1").Cells(2, 1).Value * ScrollBar1.Value

End If

End If
End Sub


la condition en fras n'est jamais vérifié??!!

merci

thomas
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,
Comme le nom l'indique une TexteBox donne du texte. Si vous saisissez 1 cela donne une chaine de caractere "1" pas le chiffre 1. Donc il faut convertir la saisie en nombre par Cint(TextBox1.Value) pour -32 768 et 32 767 nombre entier
ou CSng(TextBox1.Value) pour nombre decimal

If Cint(TextBox1.Value) < Worksheets("Feuil1").Cells(2, 1) Then
TextBox1.Value = 0
ElseIf Cint(TextBox1.Value) >= Worksheets("Feuil1").Cells(2, 1) Then
TextBox1.Value = Worksheets("Feuil1").Cells(5, 1).Value - Worksheets("Feuil1").Cells(2, 1).Value * ScrollBar1.Value

End If

Bonne suite
0