Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3101 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Petits calculs en vb

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Petits calculs en vb

n°761903
paris5
Posté le 13-06-2004 à 18:23:26  profilanswer
 

Pour effectuer des petits calculs en vb j'aurais besoin de savoir 3 trucs:
 - comment on fait un modulo
 - comment on fait pour tirer un nombre au hasard (rand() en c++ mais je cherche l'equivalent en vb)
 - comment on fait une division avec arrondi au plus petit d'un entier à un autre (par exemple je fais 31/60 ce qui donne 0.51 et il me met 1 dans l'entier alors que je veux qu'il me mette 0)
 
Merci de votre gentilesse et bonne soirée

mood
Publicité
Posté le 13-06-2004 à 18:23:26  profilanswer
 

n°761927
glod 2
Votre trajet, notre projet.
Posté le 13-06-2004 à 18:55:18  profilanswer
 

modulo : x mod y
random :  
Dim MyValue
' Renvoie une valeur aléatoire comprise entre 1 et 6.
MyValue = Int((6 * Rnd) + 1)
 
 

n°761935
glod 2
Votre trajet, notre projet.
Posté le 13-06-2004 à 18:58:59  profilanswer
 

Pour diviser avec arrondi à l'inferieur,je crois que faut utiliser \ et pas /.

n°761943
TotalRecal​l
Posté le 13-06-2004 à 19:01:58  profilanswer
 

Modulo -> Mod :d
pour les nb aléatoires : Rnd je crois, mais il me semble que ça genere un truc entre 0 et 1 donc il y a un retraitement à faire derriere :p
pour l'arrondi je sais plus trop. ça doit être tout bête. il y a une fonction Round, mais elle arrondie soit à un décimal, soit un entier, et à celui qui est le plus proche donc spabon...

n°761959
paris5
Posté le 13-06-2004 à 19:22:15  profilanswer
 

ok lol merci beaucoup je vais tester tout ca

n°761971
paris5
Posté le 13-06-2004 à 19:34:04  profilanswer
 

Pour le \ c'est bon fait un arrondi a l'inferieur.
 
Par contre petit probleme pour le rand. Il me tire bien aleatoirement un chiffre mais le probleme c'est qu'il me tire tout le temps les meme chiffres quand je lance le programme.
Par exemple il tirera toujours 4 puis 6 .....
J'aimerais qu'il tire des nombres aleatoires mais differents entre chaques executions.
Je sais que en c++ il faut changer la valeur du noyau rand (avec srand unsigned je ne sais plus trop c'est comment) mais en vb par contre aucune idée.
Il faudrais en gros que le programme me tire 2 valeurs comprises entre 2000 et 4000 mais differentes entre elles à chaques executions

n°762111
glod 2
Votre trajet, notre projet.
Posté le 13-06-2004 à 21:58:28  profilanswer
 

avanr ton rnd faut que tu fasses un  
randomize
en fait à chaque fois que t'utilises la fonction rnd,tu mets un randomize sur la ligne du dessus,ça initilise le générateur (pseudo) aléatoire.

n°762329
paris5
Posté le 14-06-2004 à 00:08:57  profilanswer
 

je met comment le randomise?
 
randomize
MyValue = Int((6 * Rnd) + 1)  
 
?

n°762349
pinguin007
a npe error
Posté le 14-06-2004 à 00:30:23  profilanswer
 

paris5 a écrit :


 - comment on fait une division avec arrondi au plus petit d'un entier à un autre (par exemple je fais 31/60 ce qui donne 0.51 et il me met 1 dans l'entier alors que je veux qu'il me mette 0)
 
Merci de votre gentilesse et bonne soirée


 
bah si a chaque foi il te fait un arrondi au supérieur tu retranche 1 au resultat que tu obtiens
 
x := int(y)-1 ;


---------------
LoD 4 ever && PWC spirit|Le topak de l'iMP-450|inDATOUNEwe trust
n°762592
TotalRecal​l
Posté le 14-06-2004 à 11:50:41  profilanswer
 

tiens essaye avec ça :  
 
Private Sub Form_Load()
For i = 1 To 10
Label1.Caption = Label1.Caption & Chr(32) & Random(2000, 4000)
Next i
End Sub
 
Private Function Random(ByVal Low As Long, ByVal High As Long) As Long
  Randomize
  Random = Int((High - Low + 1) * Rnd) + Low
End Function

mood
Publicité
Posté le 14-06-2004 à 11:50:41  profilanswer
 

n°762702
paris5
Posté le 14-06-2004 à 13:28:00  profilanswer
 

ok totalrecall j'essaye ca et jte dit si c'est ok
 
pour pinguin007: imagine je fais 4/2=2 jusqu'a la ok pas de soucis il fait pas d'arrondi puisque ca tombe sur un nombre entier et je retranche 1 4/2=1
donc c'est faux.

n°763277
pinguin007
a npe error
Posté le 14-06-2004 à 19:18:46  profilanswer
 

paris5 a écrit :

ok totalrecall j'essaye ca et jte dit si c'est ok
 
pour pinguin007: imagine je fais 4/2=2 jusqu'a la ok pas de soucis il fait pas d'arrondi puisque ca tombe sur un nombre entier et je retranche 1 4/2=1
donc c'est faux.


 
hum exacte en fait ca devrazs plutot être un truc du genre :
 
IF a/b = int(a/b) THEN x := a/b ELSE x := int(a/b)-1 ;


---------------
LoD 4 ever && PWC spirit|Le topak de l'iMP-450|inDATOUNEwe trust

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Petits calculs en vb

 

Sujets relatifs
Effet foireux car calculs trop importantsCalculs en VBA
Recherche: couper un fichier pdf automatiquement en plusieurs petitsPerlPDL pour les calculs ?
Passer mon site en XHTML + CSS : Petits problèmes[mySQL] petits calculs
[HTML] Petits problemes faciles a résoudres...Calculs en conservant le format du nombre
recherche petits dessins de pc et de bd 
Plus de sujets relatifs à : Petits calculs en vb


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR