Rebrasser aléatoirement 5 valeurs (réparties sur 5 cellules)

Bonjour!
Je cherche une fonction ou une façon de faire pour obtenir, sur une rangée de 5 cellules, 1 valeur aléatoire par cellule (de 1 à 5 par exemple), mais qu'au final les 5 valeurs soient représentées dans la rangée (l'équivalent d'un rebrassage). Donc ce n'est pas simplement la fonction =ALEA.ENTRE.BORNES(1;5) car cette fonction peut donner :

2, 4, 4, 2, 1 ... (il manque le 5)

5, 3, 2, 5, 3 ... (il manque le 1 et le 4)

etc.

Merci bcp!

Jean-Philippe

Bonjour Jean-Philippe, bonjour le forum,

Une proposition VBA avec le code ci-dessous :

Sub Macro1()
Dim O As Worksheet 'déclae la variable O (Onglet)
Dim TV(1 To 5) 'déclare la variable TV (Tableau des Valeurs)
Dim NA As Byte 'deçlare la variable NA (Nombre Aléatoire)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
O.Range("A1:E1").ClearContents
TV(5) = 0 'initialise la variable TV(5)
Randomize 'lance le générateur de nombre aléatoire
For I = 1 To 5 'boucle 1 : sur 5 élément
ici: 'étiquette
    NA = Int(5 * Rnd + 1) 'génère un nombre aléatoire entre 1 et 5
    For J = 1 To 5 'boucle 2 : sur 5 éléments
        If TV(J) = NA Then GoTo ici 'si l'élément J de TV est égale à NA, va à l'étiquette "ici"
    Next J 'prochain élément de la boucle 2
    TV(I) = NA 'définit l'élément I de TV
    O.Cells(1, I) = NA  'renvoie NA dans a cellule ligne 1 colonne I
Next I 'prochain élément de la boucle 1
End Sub

Merci beaucoup ThauTheme pour ta réponse rapide !

Je vais y aller avec du VBA, mais si jamais quelqu'un a une idée de façon de faire sans VBA, je suis aussi preneur !

Bonne journée,

JP

Rechercher des sujets similaires à "rebrasser aleatoirement valeurs reparties"