Nombre aléatoire vba (excel)
Résolu/Fermé
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
-
16 févr. 2012 à 15:33
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 - 24 févr. 2012 à 14:53
eljojo_e Messages postés 1155 Date d'inscription lundi 10 mai 2010 Statut Membre Dernière intervention 14 octobre 2022 - 24 févr. 2012 à 14:53
A voir également:
- Nombre aléatoire vba (excel)
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
3 réponses
thordek
Messages postés
32
Date d'inscription
mercredi 6 juillet 2011
Statut
Membre
Dernière intervention
12 septembre 2013
9
22 févr. 2012 à 16:10
22 févr. 2012 à 16:10
Bonjour eljojo_e,
Tu devrais te baser sur une loi normal.
Par contre, dans VBA comme dans Excel, tu as des fonctions pour, comme tu l'as dis. Pourquoi faire compliquer quand on peut faire simple ?
Cordialement,
Thordek
Tu devrais te baser sur une loi normal.
Par contre, dans VBA comme dans Excel, tu as des fonctions pour, comme tu l'as dis. Pourquoi faire compliquer quand on peut faire simple ?
Cordialement,
Thordek
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
Modifié par pijaku le 24/02/2012 à 14:15
Modifié par pijaku le 24/02/2012 à 14:15
Bonjour,
Pour satisfaire ta curiosité, il est bien entendu plus simple d'utiliser les fonctions natives d'excel ou de vba (ALEA() et Randomize).
Cependant, il est toujours possible de créer une procédure permettant de réaliser plus ou moins ce que tu souhaites.
En partant du principe que la mémoire de l'ordi ne travaille pas systématiquement à la même vitesse, on peux remplir une "grosse" variable tableau avec des chiffres de 1 à 100, ensuite, déclencher un chronomètre et sortir un résultat "aléatoire".
Voici un code possible :
Cordialement,
Franck P
Pour satisfaire ta curiosité, il est bien entendu plus simple d'utiliser les fonctions natives d'excel ou de vba (ALEA() et Randomize).
Cependant, il est toujours possible de créer une procédure permettant de réaliser plus ou moins ce que tu souhaites.
En partant du principe que la mémoire de l'ordi ne travaille pas systématiquement à la même vitesse, on peux remplir une "grosse" variable tableau avec des chiffres de 1 à 100, ensuite, déclencher un chronomètre et sortir un résultat "aléatoire".
Voici un code possible :
Option Explicit Sub NombreAleatoire() Dim Tabl(1 To 1000, 1 To 1000) Dim t, i As Long, j As Long, Cpt As Integer Cpt = 1 '1er nombre aléatoire !!! Nbre Entier !!! For i = 1 To UBound(Tabl, 1) For j = 1 To UBound(Tabl, 2) Tabl(i, j) = Cpt If Cpt = 100 Then Cpt = 0 ' 100 = dernier nbre aléatoire 'pour cet exemple j'ai choisi des nombres de 1 à 100 ENTIERS!!! Cpt = Cpt + 1 Next j Next i t = Timer i = 1 j = 1 Do While Timer <= t + 1 'ici on peux allonger le temps 'pour rendre encore + aleatoire la procédure 'affichage en cellule A1 Cells(1, 1) = Tabl(i, j) If i = 1000 Then i = 0 If j = 1000 Then j = 0 i = i + 1 j = j + 1 Loop End Sub
Cordialement,
Franck P
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
154
24 févr. 2012 à 14:53
24 févr. 2012 à 14:53
Super ton code !
Merci bien !
Merci bien !
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
154
24 févr. 2012 à 13:50
24 févr. 2012 à 13:50
^^ Oui c'est sur, mais pour ta question "Pourquoi faire compliquer quand on peut faire simple?", c'est uniquement par pur curiosité.
Voilà,
Cordialement,
Voilà,
Cordialement,