Problème simple VBA

Résolu
Es0pe Messages postés 104 Statut Membre -  
Es0pe Messages postés 104 Statut Membre -
Bonjour, voila j'ai un problème assez simple en fait je voudrais qu'une variable prenne un nombre aléatoirement dans un intervalle précis [par exemple entre 30 et 45] comment puis-je faire ?

Merci

9 réponses

  1. saif87 Messages postés 131 Statut Membre
     
    la fonction random qui donne une variable aleatoire mais tu peut l'encadrer dans l'intervalle que tu veut
    0
  2. Es0pe Messages postés 104 Statut Membre 2
     
    pour faire mes variables aléatoires je fais :

    Randomize
    
    lavariable = int (rnd * 4)


    mais ça me tire au sort 0,1,2 ou 3 pour cet example et là dedans je sais pas mettre d'intervalle
    0
  3. saif87 Messages postés 131 Statut Membre
     
    je besoin de api java qu'est ce que c'est et comment je le télécharge merci
    0
    1. Es0pe Messages postés 104 Statut Membre 2
       
      J'ai pas tous suivi là u_u ... java ? qu'est-ce que ça vient faire là ?
      0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    r=int(rnd()*16)+30
    eric
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Es0pe Messages postés 104 Statut Membre 2
     
    impec merci :)
    0
  7. Es0pe Messages postés 104 Statut Membre 2
     
    Erf nan ... j'ai a peu de chose près le même problème en fait je voudrais mettre maintenant ma variable entre une variable aléatoire et une valeur fixe.

    je m'explique par un example :

    " l'utilisateur écrit une valeur ('valeur') dans une txtbox. je veux que l'ordinateur prenne une variable aléatoire entre veleur et 100"

    Comment puis je faire ?
    0
  8. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    re,

        Dim r As Integer, aleatoire As Integer
        ' 72: exemple de réponse de la txtbox, en string à convertir en numérique
        r = CInt("72") 
        ' 100-r+1 => 29 valeurs
        ' Int(Rnd() * (100 - r + 1)) => valeurs aleatoires de 0 à 28
        ' Int(Rnd() * (100 - r + 1))+r  => valeurs aleatoires de 72 à 100 inclus
        ' ce qui donne :
        aleatoire = Int(Rnd() * (100 - r + 1)) + r


    eric
    0
  9. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Une petite précision : pour éviter que le même cycle aléatoire ne se reproduise, il faut mettre :
    Randomize Timer

    juste au dessus de :
    aleatoire = Int(Rnd() * (100 - r + 1)) + r


    ;o)
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      yes, important aussi :-)
      0
  10. Es0pe Messages postés 104 Statut Membre 2
     
    Merci ;)
    0