Nombre aléatoire entre -16 et 82
Fermé
Steven Daniel
-
25 sept. 2016 à 16:51
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 - 25 sept. 2016 à 18:37
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 - 25 sept. 2016 à 18:37
A voir également:
- Nombre aléatoire entre -16 et 82
- Nombre facile - Télécharger - Outils professionnels
- 16:9 ou 16:10 - Forum Matériel & Système
- Hp envy 16 - Guide
- Supprimer espace nombre excel ✓ - Forum Excel
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
3 réponses
générer un entre -10 et 10,
Sub rando() 'nom de ma procedure
Dim r As Double, r2 As Double
' je génere d'abord une valeur que j'arrondi( resultat : 0 ou 1)
r2 = Round(Rnd())
en fonction de r2, je me branche sur l'une des plages
If (r2 = 0) Then
r = (-10 * Rnd) ' nombre entre -10 et 0
Else
r = (10 * Rnd) ' nombre entre 0 et 10
End If
' Je fait une troncature sur r
r2 = Left(r, 8)
MsgBox "tronquée est " & r2 & " r = " & r
End Sub
Sub rando() 'nom de ma procedure
Dim r As Double, r2 As Double
' je génere d'abord une valeur que j'arrondi( resultat : 0 ou 1)
r2 = Round(Rnd())
en fonction de r2, je me branche sur l'une des plages
If (r2 = 0) Then
r = (-10 * Rnd) ' nombre entre -10 et 0
Else
r = (10 * Rnd) ' nombre entre 0 et 10
End If
' Je fait une troncature sur r
r2 = Left(r, 8)
MsgBox "tronquée est " & r2 & " r = " & r
End Sub
ccm81
Messages postés
10851
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
16 avril 2024
2 404
25 sept. 2016 à 18:28
25 sept. 2016 à 18:28
Bonjour à tous
Pour créer un entier aléatoire de min à max compris
a=min + Int((max - min + 1) * Rnd)
Cdlmnt
Pour créer un entier aléatoire de min à max compris
a=min + Int((max - min + 1) * Rnd)
Cdlmnt
luckydu43
Messages postés
3484
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
30 juin 2022
815
25 sept. 2016 à 18:37
25 sept. 2016 à 18:37
Ca dépend du langage... en Basic, c'est Int(((Max+1) - (Min+1))*Rand()) + (Min-1) ;-)
Le tout dépend de la façon dont est gérée la valeur entière d'un aléat par l'interpréteur...
Le tout dépend de la façon dont est gérée la valeur entière d'un aléat par l'interpréteur...
luckydu43
Messages postés
3484
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
30 juin 2022
815
Modifié par luckydu43 le 25/09/2016 à 17:13
Modifié par luckydu43 le 25/09/2016 à 17:13
Bonjour !
Je ne sais pas, je ne connais pas le VBA. Mais vous pouvez décomposer le traitement ^^
1.
Générer un nombre aléatoire entre 0 et 100
2.
Retirer 2 (on a donc un nombre entre -2 et 98)
Recommencer si nombre négatif (on a un nombre entre 0 et 98)
2 bis.
Si nombre supérieur ou égal à 99, retirer 2 ou recommencer la génération
3.
Retirer 16 (on a donc un nombre entre -16 et 82)
Il y a sûrement plus propre ;-)
Bonne journée !
Luc
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
Je ne sais pas, je ne connais pas le VBA. Mais vous pouvez décomposer le traitement ^^
1.
Générer un nombre aléatoire entre 0 et 100
2.
Retirer 2 (on a donc un nombre entre -2 et 98)
Recommencer si nombre négatif (on a un nombre entre 0 et 98)
2 bis.
Si nombre supérieur ou égal à 99, retirer 2 ou recommencer la génération
3.
Retirer 16 (on a donc un nombre entre -16 et 82)
Il y a sûrement plus propre ;-)
Bonne journée !
Luc
Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
Modifié par luckydu43 le 25/09/2016 à 17:53
A voir si ça marche...
P.S. : n'oublie jamais les balises de code...