Incrémentation de variable

Messages postés
17
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 novembre 2010
- - Dernière réponse : 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
Afficher la suite 

14 réponses

Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
0
Merci
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
Commenter la réponse de gillardg
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
0
Merci
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
Commenter la réponse de cs_Galain
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
0
Merci
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
Commenter la réponse de gillardg
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
0
Merci
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
Commenter la réponse de cs_Galain
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
3
0
Merci
Bonjour,
correct :)
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
Commenter la réponse de gillardg
Messages postés
17
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 novembre 2010
0
Merci
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
Commenter la réponse de giboudin
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
0
Merci
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
Commenter la réponse de cs_Galain
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
0
Merci
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
Commenter la réponse de cs_Galain
Messages postés
17
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 novembre 2010
0
Merci
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 !
Commenter la réponse de giboudin
Messages postés
1270
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
0
Merci
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
Commenter la réponse de cs_Galain
Messages postés
17
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 novembre 2010
0
Merci
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
Commenter la réponse de giboudin
Messages postés
1
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
29 avril 2011
0
Merci
je veut saluer tout les membre de VBfrance aunssi que les jeune programmeur française
et mesrci amazircool@yahoo.fr
Commenter la réponse de amazircool
Messages postés
1
Date d'inscription
vendredi 21 septembre 2007
Statut
Membre
Dernière intervention
18 novembre 2011
0
Merci
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é
Commenter la réponse de sda3
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
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
Commenter la réponse de ucfoutu