Incrémentation de variable

giboudin Messages postés 17 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 novembre 2010 - 29 août 2010 à 16:11
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 18 nov. 2011 à 17:56
Bonjour à vous tous,

Une nouvelle fois, j'en appelle à vos compétences pour trouver la solutions à l'écriture d'un code valide pour résoudre mon problème du moment.
En effet, je souhaiterai écrire un code qui permette lors d'un clique sur un bouton, d'incrémenter automatiquement une variable de 0,1 et ce jusqu'à atteindre la valeur d'une autre variable. Je souhaite que chaque ligne soit écrite dans une Textbox et précise que les variables de départ et d'arrivée seront des nombre décimaux.
Pour imager cela devrait ressembler environ à :

for i 1,5 to 3,5

1,5
1,6
1,7
(…)
3,5

Enfin, je précise que je parviens à obtenir le résultat souhaité (avec le code ci-dessous) lorsque i est incrémenté de 1, mais pas lorsque l'incrémentation doit être de 0,1

Dim i As Integer
For i = 1 To 10
TextBox1.Text = TextBox1.Text & "Ligne " & i & vbCrLf

Next i

D'avance merci à vous tous
A voir également:

14 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
29 août 2010 à 16:18
Bonjour,

Dim i As Integer 
For i = 1 To 10  step 0.1 
'incrémente par 0.1 vérifie si c'est une virgule 'ou un point qu'il faut
TextBox1.Text = TextBox1.Text & "Ligne " & i & vbCrLf 

Next i 

a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
Profil bloqué
29 août 2010 à 16:39
Salut Gillardg

Dans ta réponse i ne peut pas être un integer ( vu son incrémentation de 0,1 il deviendra un chiffre décimal)

Salut giboudin

dim i as single
for i = 15 to 35
    TextBox1.Text = TextBox1.Text & "Ligne" & str$(i / 10) & vbCrLf
next i



La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
29 août 2010 à 16:52
Bonjour Galain,
exact j'ai pas fait attention , merci d'avoir corrigé
dim i as Decimal
for i = 15 to 35 step 0.1
    TextBox1.Text = TextBox1.Text & "Ligne" "Ligne " & i.ToString & vbCrLf 
next i


a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
Profil bloqué
29 août 2010 à 16:59
VbCrLf est du VB 6.0 : en VB Net c'est Environment.Newligne
Ma première réponse était en VB 6.0
voici la bonne réponse en VB Net

dim i as Decimal
for i = 15 to 35 step 0.1
    TextBox1.Text = TextBox1.Text & "Ligne " & i.ToString & Environment.Newligne 
next i



La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
29 août 2010 à 17:02
Bonjour,
correct :)
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
giboudin Messages postés 17 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 novembre 2010
30 août 2010 à 18:41
Bonjour,

Merci à vous deux pour vos réponses qui ont apporté la solution à mon problème.
Petite précision toutefois, pouvez-vous me dire quels sont les risques (ou autres) à utiliser l'instruction "vbCrLf" en .net sachant que cela fonctionne ?
Comme je l'ai déjà dit, je débute alors toutes les infos sont bonnes à prendre !

Encore merci à vous
0
Profil bloqué
30 août 2010 à 21:20
Salut Giboudin

Les instructions VB 6.0 (ex: Left,Mid,VbCrLF,Ubound,etc...) sont bien connues des 'anciens' et font partie intégrante de VisualBasic; elles sont parfois plus simples. Mais elles ne fonctionnent pas comme des Objets mais comme des instructions.
note que VbCrLf est une constante et non une instruction
VB Net permet leurs utilisations car elles font partie de l'espace de nom 'Microsoft.VisualBasic', il est 'chargé' par défaut et il n'y a pas lieu de l'importer. Par contre quand certains 'mots' sont communs à plusieurs classes ou instructions, il peut y avoir ambiguïté et il faut utiliser dans ce cas la syntaxe complète (avec l'espace de nom). Cela semble le cas pour left qui est un mot clé VB 6.0 mais aussi une propriété des contrôles (Top et Left). Pour lever l'ambiguïté il faut écrire Microsoft.VisualBasic.left(Chaine$,i&) par exemple pour le fonction qui agit sur une chaine de caractères.

Ces méthodes font souvent double emploi avec les méthodes des classes en VB Net
Pour ne pas utiliser cet espace de nom il faut , une fois le projet ouvert
- aller dans My Project (en haut à droite) et l'ouvrir
- cliquer et ouvrir le menu "Références"
- La liste en bas de la feuille indique les espaces de nom importés
- Tu la déroules et tu trouves l'espace de nom "Microsoft VisualBasic" coché. C'est cet espace de noms qui te permet d'utiliser des instructions VB 6.0 en VB net. Ne pas toucher aux autres espaces de noms commençant eux aussi par Microsoft VisualBasic suivi d'un point et d'un autre mot.
Le fait de décocher l'espace de noms "Microsoft VisualBasic" n'autorise plus la saisie d'instructions ou de fonctions ou de constantes VB 6.0 dans un projet VB NET
Cela donne un code plus Net (dans les 2 sens)

Un truc : imagine que ton bout de code m'intéresse et que je le copie dans un de mes projets sans avoir importer l'espace de nom "Microsoft VisualBasic" . VB Net me dira : "VbCrLf : je ne connais pas" et j'aurais une belle erreur de syntaxe.
Mon avis : si on commence en VB Net autant abandonner la syntaxe VB 6.0 dans ses projets.


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
Profil bloqué
30 août 2010 à 21:24
Resalut

tu as dit que tu débutais en VB Net
voici un cours très bien fait : http://plasserre.developpez.com/cours/vb-net/
C'est avec lui que j'ai commencé la prog en VB Net
A+ et bonne prog


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
giboudin Messages postés 17 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 novembre 2010
31 août 2010 à 15:41
Salut Galain,

Merci pour ta réponse particulièrement détaillée. Étant tout à fait débutant, tous les termes employés ne me sont pas encore familiers, mais j'ai saisi le sens général de ton explication et t'en remercie vivement !
Je profite de ce message pour te demander si par hasard tu sais s'il existe sur le net notamment un genre de tableau où sont présentées les différentes propriétés applicables à un objet par exemple (en français de préférence) ? de même que les différentes instructions comme dans mon cas "retour à la ligne".
Désolé d'abuser un peu, mais il est vrai que découvrant seul avec un bouquin le monde de la prog, je nage un peu .. mais je m'accroche !
0
Profil bloqué
31 août 2010 à 18:26
Salut giboudin
A ma connaissance je ne crois pas que cela existe
On a tous ramé lorsque l'on a commencé la programmation mais en s'accrochant on y arrive toujours
Les forums de programmation sur le Net ( dont Codes-Sources) sont nos meilleurs alliés en cas de problème
bon courage et bonne prog
A+


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
0
giboudin Messages postés 17 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 novembre 2010
31 août 2010 à 19:11
Re,

Je te confirme qu'avec l'aide de chacun de vous on se sent aidé et c'est très sympa d'autant que l'on peut ressentir que beaucoup d'entre vous sont confirmés !!
Je m'accroche et encore merci à vous tous
0
amazircool Messages postés 1 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 29 avril 2011
29 avril 2011 à 19:02
je veut saluer tout les membre de VBfrance aunssi que les jeune programmeur française
et mesrci amazircool@yahoo.fr
0
sda3 Messages postés 1 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 18 novembre 2011
18 nov. 2011 à 17:33
salut tous le mande
j ai essai l Incrémentation de variable, sur label mais ça marche pas, vous pouvait m aidé s v p, je suis débutons sur vb6

le code :
Private Sub Form_Load()
Dim i As Integer

End Sub

Private Sub Command1_Click()
For i = 1 To 20 Step 1
Label1.Caption = i
Next i

End Sub

le résultat est affiche toujour 20 sur mon label.
merci d avancé
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 nov. 2011 à 17:56
Bonjour, sda3

Pas vraiment astucieux, de venir greffer ta question dans une vielle discussion.
Et ce d'autant que toi, tu ne développes pas sous VB.Net, mais sous VB6 (au vu de ton code) !
Ouvre dont ta propre discussion (dans la section VB6).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous