Nombre aléatoire entre -16 et 82
Fermé
Steven Daniel
-
25 sept. 2016 à 16:51
luckydu43 Messages postés 4077 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 13 février 2025 - 25 sept. 2016 à 18:37
luckydu43 Messages postés 4077 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 13 février 2025 - 25 sept. 2016 à 18:37
A voir également:
- Nombre aléatoire entre -16 et 82
- Iphone 16 - Accueil - Téléphones
- Nombre facile - Télécharger - Outils professionnels
- Nombre de jours entre deux dates excel - Guide
- Gto nombre episode ✓ - Forum Jeux vidéo
- En raison d'un nombre important d'échec de connexion snapchat - Forum Snapchat
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
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
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
4077
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
13 février 2025
1 003
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
4077
Date d'inscription
vendredi 9 janvier 2015
Statut
Membre
Dernière intervention
13 février 2025
1 003
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...