Aléa entre bornes pas vraiment aléatoire ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Victor21

XLDnaute Barbatruc
Supporter XLD
Bonjour.

Pour tester l'influence du rafraichissement d'écran et du calcul automatique sur la rapidité, j'ai lancé plusieurs fois cette macro :
Code:
Sub Remplir()
    Dim i As Integer
    Dim j As Byte

    Worksheets("Feuil1").Select
    With [IU1]
        .FormulaR1C1 = "=NOW()"
        .Copy
        .PasteSpecial Paste:=xlPasteValues
    End With
    [IU2].FormulaR1C1 = ""
    [zone2].FormulaR1C1 = ""
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    For i = 1 To 10000
        For j = 1 To 250
            Worksheets("Feuil1").Cells(i, j).FormulaR1C1 = "=ALEA.ENTRE.BORNES(1,48)"
        Next j
    Next i
    [zone2] = [zone2].Value
    With [IU2]
        .FormulaR1C1 = "=NOW()"
        .Copy
        .PasteSpecial Paste:=xlPasteValues
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True

End Sub
J'ai commencé avec i=2000, et la différence est époustouflante :
de plus de 5 h, avec rafraichissement et calcul automatique,
on passe à 12 secondes en les désactivant ...

J'ai continué avec i = 10 000, et je m'aperçois que, systématiquement, sur 25 millions de nombres générés, dans chaque série de 2 500 000, le chiffre 13 sort le plus souvent, et que le 23 est le moins fréquent 2 fois sur 3 (régulièrement).

Ma question est dans le titre : cette fonction génère-t-elle réellement des nombres aléatoires ?

Aucune urgence, c'est juste de la curiosité (mal placée ? )
 
Re : Aléa entre bornes pas vraiment aléatoire ?

Bonsoir Victor,

Pour la fonction Rnd je crois savoir qu'il est de bon ton de mettre un randomize avant utilisation, pour cette fonction je sais pas. Par curiosité aurait tu de disponible la fréquence d'apparition des 48 nombres ?

Cordialement

KD
 
Re : Aléa entre bornes pas vraiment aléatoire ?

Bonsoir


Toujours la touche F1 tu chériras 😉
Randomize, instruction


Initialise le générateur de nombres aléatoires.
Syntaxe
Randomize [number]
L'argument number estfacultatif, ilpeut contenir une valeur de type Variantou toute expression numérique valide.
Remarques
Randomize utilise l'argument number pour initialiser le générateur de nombres aléatoires de la fonction Rnd en lui donnant une nouvelle valeur initiale. Si l'argument number est omis, la valeur renvoyée par l'horloge système sert de valeur initiale.
En l'absence de Randomize, la fonction Rnd (sans argument) adopte le même nombre comme valeur initiale la première fois qu'elle est appelée. Lors des appels ultérieurs, elle réutilise le dernier nombre généré comme valeur initiale.
Note Pour obtenir plusieurs fois les mêmes séries de nombres aléatoires, appelez Rnd avec un argument négatif juste avant d'utiliser Randomize avec un argument numérique. L'utilisation de Randomize en répétant la valeur précédente pour l'argument number ne permet pas de reproduire une série de nombres.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
0
Affichages
985
Réponses
1
Affichages
738
Réponses
4
Affichages
895
Retour