Random et Seed

Bonjour à tous,

Je suis loin d'être familier avec le langage VBA pour Excel mais je m'y emploie un peu petit peu plus à chaque semaine. Je ne suis pas sûr d'avoir compris les explications en anglais sur le seed que j'ai trouvé sur le net. J'aimerais connaître le rôle attribué à seed ( graine ou semence?) avec la fonction random. À quoi sert-il? Est-il nécessaire de le mettre dans la formule randomize ().

Merci

bonjour,

la fonction randomize initialise le générateur de nombres aléatoires. Il est possible de faire en sorte que le générateur sorte toujours la même séquence de nombres aléatoires. On peut choisir le numéro de cette séquence en mettant le paramètre seed (graine) dans la fonction randomize. Il faut en outre, appeler la fonction rnd avec un paramètre négatif avant l'appel de la fonction.

    For i = 1 To 5
        a = Rnd(-1)    'je veux à chaque exécution que ma séquence soit identique
        Randomize (10)    'je veux la séquence de nombres aléatories n° 10
        For j = 1 To 10
            Cells(j, i) = Rnd() * 100
        Next j
    Next i

l'utililité ?

par exemple :

pour tester un programme dans lequel on utilise la fonction rnd(), il est plus facile de tester une version du programme par rapport à une autre si la séquence de nombres aléatoires est toujours la même.

pour numéroter les parties, on peut imaginer une grille de sudoku, distribution de cartes, ... générée aléatoirement, si on utilise un seed (graine) le joueur pourra toujours retomber sur la même grille ou la même distribution.

randomize sans paramètre:

si tu ne mets pas le paramètres, la fonction randomize utilisera la la valeur de la variable built-in VBA (timer) pour initialiser le générateur de nombres aléatoires.

Bonjour,

L'aide Excel sur la fonction Rnd() devrait être en français.

Sinon : https://www.excel-pratique.com/fr/fonctions-vba/rnd

Merci à vous deux.

Rechercher des sujets similaires à "random seed"