Incrémenter une textbox [Résolu]

mistermik 7 Messages postés vendredi 12 avril 2002Date d'inscription 27 janvier 2008 Dernière intervention - 27 janv. 2008 à 18:46 - Dernière réponse : mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention
- 29 janv. 2008 à 22:28
Bonjour,

       Je suis débutant,

voila mon problème : je cherche à incrémenter une textbox mais pas son contenu en fait je veus faire une boucle qui me permet de passer à une autre textbox
Je voudrais comparer le contenu de la text1.text au contenu de 100 autres textbox mais je ne veus pas taper 100 fois la même ligne.

text1.text = text1.text 
text1.text =t ext2.text
text1.text =t ext3.text
       etc ....
Je cherche une boucle de se style la
Dim n as integer
for n =1 to 100 step1
  text1.text = text(n)
next n
Cette boucle ne marche pas mais je voudrais connaitre la boucle qui pourrait marcher.
Merci de votre aide.
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention - 28 janv. 2008 à 18:15
3
Merci
c'est vrai que je vois de suite mieux ce que c'est, mais après tout, ce n'est qu'une notation :)

 Pourapprendretoujoursplus!

Merci mstarsup5 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de mstarsup5
mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention - 27 janv. 2008 à 18:53
0
Merci
Salut,

Si tu veux faire comme ça, il faut que tes 100 textbox soient crées, d'une part, et d'autre part que tu les nommes toutes pareil (Text par exemple), et que tu leur donnes un index (de 1 à 100 ici).
La syntaxe pour la boucle que tu as donné sera alors
for i=2 to 100
  Text(i).text=Text(1).text
Next

Cela dit, je ne vois pas trop l'intérêt d'une telle boucle comme ça, mais c'est toi le chef du programme ;-)

 Pourapprendretoujoursplus!
Commenter la réponse de mstarsup5
mistermik 7 Messages postés vendredi 12 avril 2002Date d'inscription 27 janvier 2008 Dernière intervention - 27 janv. 2008 à 19:07
0
Merci
Oui merci c est ça que je cherchais mais j'ai encore un petite problème.

j'obtient ce message d'erreur suivant : "Procédure Sub ou function non définie"

Private Sub check_Click()
Dim n As Integer
 For n = 2 To 100
    If Text(n).Text = Text(1).Text Then
next

Je suis débutant et j'essaie de faire un ptit programme qui compare des valeurs.j' obtient ce message car j'ai certaienement oublier de définir quelque chose mais je sais pas trop quoi... il me met l'erreur pour le text(n).text mais pourtant j'ai bien définie ma valeur n et tout mais text box son compléter par une valeur de 1 à 1000.

Merci pour ta réponse [auteur/MSTARSUP5/1174110.aspx mstarsup5]
Commenter la réponse de mistermik
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 27 janv. 2008 à 19:20
0
Merci
Salut
en quel version développes tu ? vb6 ou vb net ?

MANUANTIBES
Commenter la réponse de ManuAntibes
mistermik 7 Messages postés vendredi 12 avril 2002Date d'inscription 27 janvier 2008 Dernière intervention - 27 janv. 2008 à 20:41
0
Merci
en visual basic 6 .

Merci
Commenter la réponse de mistermik
mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention - 27 janv. 2008 à 20:47
0
Merci
Re,
Vérifie 2 choses:
1: tu as bien mis comme index de 1 à 100 pour tes textbox (toutes nommées Text, je rappelle hein, pas Text1, Text2, ou autre chose)
2: dans ta boucle, il faut que ton n aie des valeurs prises par les index de tes textbox (soit ici de 1 à 100 si tu les as toutes crées...)

Si tu n'as pas fait ça, c'est un peu normal que ça ne marche pas...
Et si tu as fait ça, le code marche impec.

 Pourapprendretoujoursplus!
Commenter la réponse de mstarsup5
mistermik 7 Messages postés vendredi 12 avril 2002Date d'inscription 27 janvier 2008 Dernière intervention - 27 janv. 2008 à 21:36
0
Merci
Private Sub check_Click()
Dim n As Integer

 For n = 1 To 100 Step 1
 
    If Text1(n).Text = Text1.Text Then
      Text1(n).BackColor = &HFFFF&
    Else
      Text1(n).BackColor = &H80000009
    End If
    
    If Text73.Text > 1000 Then
      MsgBox "nombre compris entre 1 et 1000"
    ElseIf Text73.Text < 1 Then
      MsgBox "nombre compris entre 1 et 1000"
   
 Next
End Sub

voila ma boucle ne marche pas .... car j'obtient ce message d'erreur suivant : "Procédure Sub ou function non définie"
les 100 textbox ont une valeur déja attribué au départ.mais pas moyen de passé d'un textbox à un autre via une boucle.

merci d'avance
Commenter la réponse de mistermik
mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention - 27 janv. 2008 à 21:45
0
Merci
Re,
plusieurs choses:

1 : Je vois des Text1, des Text73, et tout à l'heure c'était des Text (tout court).
Soit tu appelles tes textbox Text1, soit tu les appelles text73, soit tu les appelles Text tout court, mais ne fais pas tout à la fois...

2 : Tu écris: If Text73.Text > 1000
Alors sache qu'un textbox renferme une chaîne de caractères, pas un nombre.
Utilise donc plutôt If Val(Text73.Text)>1000

3 : Tu as écrit:
If Text73.Text > 1000 Then
      MsgBox "nombre compris entre 1 et 1000"
    ElseIf Text73.Text < 1 Then
      MsgBox "nombre compris entre 1 et 1000"

C'est pas plutôt
if val(Text73.Text)>=1 or Val(Text73.text)<=1000 then msgbox "nombre compris entre 1 et 1000"
 que tu veux? :-p

 Pourapprendretoujoursplus!
Commenter la réponse de mstarsup5
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 27 janv. 2008 à 21:53
0
Merci
Pour que tes textbox soit indexer comme te dit mstaesup5, un truc que je fesais lorsque je coder en VB6, c'est de poser 1 seul Textbox sur ma page je la selcetionne je la copie et je la coller de nouveau sur la meme page , et à un moment il te demande si tu veux qu'il est le meme nom donc indexer ou si tu veux que le nom (name soit different), il faut repondre oui ou non je ne sais plus , mais donne la bonne reponse pour que la textbox est le meme nom.

je te conseil de creer une autre form est de faire le test avec les textbox et de mettre le code de la boucle for, ça devrai marcher

pour ton erreur "Procédure Sub ou function non définie" ,

voici ton code :
Private Sub check_Click()
Dim n As Integer

mets juste
Sub Check_Click()
dim n as Integer
.....

End Sub

je relis les postes
il y a une erreur aussi dans ton code
sur cette ligne 
If Text1(n).Text = Text1.Text Then

il faut ecrire comme t'a dis plus haut mstaesup5
If Text1(n).Text = Text1(1).Text Then

A+
MANUANTIBES
Commenter la réponse de ManuAntibes
ManuAntibes 454 Messages postés mardi 24 octobre 2000Date d'inscription 12 août 2016 Dernière intervention - 27 janv. 2008 à 22:02
0
Merci
il y a encore des erreurs dans ton code

 If Text73.Text > 1000 Then
      MsgBox "nombre compris entre 1 et 1000"
    ElseIf Text73.Text < 1 Then
      MsgBox "nombre compris entre 1 et 1000"

il ne manque pas end if pour fermer ta boucle

on te dis que tes textbox doivent avoir le meme nom
et toi tu ne ecrire encore des textbox avec un nom Text73

il faut ecrire Text1(73).text > 1000 then
...

deja change Text1 comme nom ça porte a confusion

nomme la plutot TBCompar ou TBChiffre etc
TB... = TextBox
CB... = ComboBox
c'est la regle de  nommage que demande Microsoft, pour que tous les developpeurs comprennent.

MANUANTIBES
Commenter la réponse de ManuAntibes
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 28 janv. 2008 à 18:11
0
Merci
ManuAntibes < Presque aps d'accord avec toi sur la convention de nommage des controles !
Une textbox sera plutot préfixée en "txt" et une combobox en "cmb" :
txtCompar, txtChiffre, cmbOptions, etc ...
Commenter la réponse de Kristof_Koder
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 29 janv. 2008 à 20:48
0
Merci
"ce n'est qu'une notation" < Ce n'est en effet qu'une notation et ne pas en tenir compte ne perturbe absolument pas l'execution du code ... mais facilite tellement la relecture du code ! Qd tu es sur un projet, le code que tu ponds t'es tres familier et cela n'est pas genant. Mais qd tu dois remettre le nez dans un projet après l'avoir mis de cote quelques temps, ou pire si tu dois travailler avec le code de quelqu'un d'autre ... la tu pleures s'il n'y a pas un minimum de convention de notation de respecter.
Qd tu developpes en tant que professionnel dans une boite, c'ets même une obligation de respecter des regles de nommage (et même des regles de codage en général)
Commenter la réponse de Kristof_Koder
mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention - 29 janv. 2008 à 20:55
0
Merci
Je suis tout à fait d'accord, d'où mon "c'est vrai que je vois de suite mieux ce que c'est" au début de ma phrase ^^
Cela dit, si on programme pour son seul plaisir (comme moi par exemple), il n'y a pas de mal à faire ça à mon avis, ça apporte une touche personnelle au projet :)   ;-)

 Pourapprendretoujoursplus!
Commenter la réponse de mstarsup5
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 29 janv. 2008 à 21:43
0
Merci
personnelle oui, tellement personnelle que si tu dois pour une raison ou une autre mettre de coté ton code pendant quelques temps (quelques jours suffisent parfois) pour t'y replonger ensuite, tu verras que les conventions, ca a du bon.
Sans compter le fait que si tu partage ton code sur VBFrance par la suite, les autres seront bien plus attirer pour lire ton code s'il est conventionné
Commenter la réponse de Kristof_Koder
mstarsup5 527 Messages postés lundi 15 octobre 2007Date d'inscription 10 octobre 2013 Dernière intervention - 29 janv. 2008 à 22:28
0
Merci
Bon, je suis pas venu sur ce site pour me prendre la tête et passer mes soirées à avoir des arguments pour du flan, tu as raison, j'ai tort, et on ne devrait d'ailleurs pas autoriser les gens à programmer, même s'ils débutent complètement, s'ils n'utilisent pas les conventions que tu as citées ci dessus : D

En étant un peu plus sérieux, je répète, je suis d'accord avec toi sur toute la ligne, j'ai simplement fait remarquer que ce n'était pas un crime si qqn n'utilise pas ces conventions là exactes mais a d'autres conventions qu'il s'est trouvé lui même et qui sont compréhensibles pour la plupart, si ce type programme pour lui même comme un passe temps et pour se faire plaisir.

Un exemple: j'apprends tout seul à programmer, sans livre sans rien, et je me fais mes propres conventions pour rendre mes programmes faciles à lire (ici ça peut être celles de tout à l'heure)... Elles sont compréhensibles pour tout le monde, on s'y retrouve facilement, bla bla...
Alors oui, c'est sûr que ce n'est pas la convention de la communauté de vb6, et que ça serait mieux de connaître d'une part cette convention, et de l'utiliser d'autre part, mais y'a pas à faire tout un fromage si on ne connait pas la convention, si on fait juste de la programmation par plaisir...
Maintenant, cela mis à part, je suis d'accord sur le principe de nous donner la convention utilisée par les programmeurs et t'en remercie par la même car je ne la connaissais pas (j'ai toujours écrit TexteMachin, LabelTruc, ... Facilement compréhensible comme tu voies)

Enfin bref
Je retourne à mes programmes moi, je vous souhaite une très bonne soirée à tous.
Bonne programmation!

 Pourapprendretoujoursplus!
Commenter la réponse de mstarsup5

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.