Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction Choix aléatoire

Nicos54

XLDnaute Nouveau
Bonjour,

Voila je souhaite utiliser une fonction qui me permet de choisir aléatoirement le contenu d'une des 4 cellules de mon choix.
Ainsi j'utilise la fonction :

=CHOISIR((ALEA()*4)+1;A1;A2;A3;A4)

J'applique cette formule à 4 autres cellules et là … problème ! Deux cellules prennent les mêmes valeurs !
Donc j'aimerais utilisé quelques chose qui empêche que deux cellules aient la même valeur.

Merci d'avance pour vos réponse

Cordialement
 

Dranreb

XLDnaute Barbatruc
Re : Fonction Choix aléatoire

Bonsoir.
Il y a peut être d'autres solutions, mais celle qui me vient à l'esprit utilise ce code :
VB:
Function Arrang(ByVal NumA As Long, Optional ByVal NbrÉl As Long) As Long()
If NbrÉl = 0 Then NbrÉl = Application.Caller.Columns.Count
CalcArrang Arrang, NumA, NbrÉl
End Function
Sub CalcArrang(TR() As Long, ByVal NumA As Long, Optional ByVal NbrÉl As Long)
Dim NbP As Long, N As Long, Z As String, P As Long, NbCou As Long
If NbrÉl = 0 Then NbrÉl = UBound(TR) Else ReDim TR(1 To NbrÉl)
NbP = 1: For N = 1 To NbrÉl: Z = Z & ChrB$(N): NbP = NbP * N: Next N
NumA = NumA Mod NbP
ReDim TR(1 To NbrÉl): NbCou = NbrÉl
For N = 1 To NbrÉl: NbP = NbP \ NbCou: P = NumA \ NbP
   TR(N) = AscB(MidB$(Z, P + 1, 1)): Z = LeftB$(Z, P) & MidB$(Z, P + 2)
   NumA = NumA - P * NbP: NbCou = NbCou - 1: Next N
End Sub
Dans 4 cellules horizontales, validé par Ctrl + Maj + Entrée :
Code:
=Arrang(ALEA.ENTRE.BORNES(0;23);4)
devrait vous donner 4 chiffres de 1 à 4 dans un ordre aléatoire sans répétition.
 

Calvus

XLDnaute Barbatruc
Re : Fonction Choix aléatoire

Re-bonsoir le forum, Dranreb, Modeste

Bonsour®
voir proposition jointe

Ca c'est très malin !

Calvus à dit:
Comment veux tu obtenir 5 résultats avec 4 choix.....?

Je suis donc le seul à avoir mal compris.....

C'est la fatigue ! Ai trop vite lu le " à 4 autres cellules". Donc compris 4+1 !

En tout cas, bravo à vous.

Bonne soirée
 

Dranreb

XLDnaute Barbatruc
Re : Fonction Choix aléatoire

Bonjour.
Je suis donc le seul à avoir mal compris.....

C'est la fatigue ! Ai trop vite lu le " à 4 autres cellules". Donc compris 4+1 !
Non, non, du tout. Depuis le début rien n'est clair dans la demande. Pas de classeur joint pour visualiser ce qu'il veut faire. On ne peut donner que des bribes de moyens qui ont des chances de se participer de la solutiion de son mystérieux problème. Mais c'est sûr qu'avec 4 élément on a vite fait le tour de ce qu'on pouvait y choisir aléatoirement de différent à chaque fois: il n'y a que 24 ordres différents possibles de les prendre tous.
 

Discussions similaires

Réponses
36
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…