Nombre aléatoire (sans doublons)

Jug

XLDnaute Nouveau
Bonjour tout le monde.

Voilà j'ai besoin de votre avis concernant une formule
Je souhaite récupérer aléatoirement dans une colonne de 10 lignes, un chiffre aléatoire allant de 25 à 100 (bornes comprises) sans doublons et sans utiliser la fonction ALEA.ENTRE.BORNES() !

J'ai testé ça : =ENT(ALEA()*75+25)
Ca a l'air de fonctionné mais ça ne teste pas les doublons !

Je suis parti sur une autre piste au début INDEX+EQUIV+ALEA mais sans succès.

Merci d'avance pour votre aide et bonne continuation.
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Nombre aléatoire (sans doublons)

Bonjour Jug, bienvenue sur XLD,

La colonne A étant vide, entrer dans les cellules de la plage A25:A100 la formule :

=ALEA()

Puis entrer dans celles de la plage B1:B10 la formule :

=EQUIV(PETITE.VALEUR(A:A;LIGNE());A:A;0)

Edit : bien sûr pour un nouveau tirage appuyer sur F9

A+
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Nombre aléatoire (sans doublons)

Bonsoir
(...) est ce qu'il existe une autre solution sans ajout de colonne ? (...)
Je crains que la réponse soit non. Mais les virtuoses de la formule me démentiront peut-être. En attendant, je joins une solution en Visual Basic.​
Bonne nuit !
ROGER2327
 

Pièces jointes

  • ALEA_25_100.xls
    24 KB · Affichages: 1 145

job75

XLDnaute Barbatruc
Re : Nombre aléatoire (sans doublons)

Re, bonsoir Roger :)

Une solution VBA également :

Code:
Sub Aleatoire()
Dim plage As Range, cel As Range, alea As Double
Set plage = Range("A1:A10") 'modifiable
plage.Value = ""
If plage.Count > 76 Then Exit Sub
Randomize
For Each cel In plage
1 alea = 25 + Int(76 * Rnd)
If Application.CountIf(plage, alea) Then GoTo 1 Else cel = alea
Next
End Sub

Bonne nuit
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 413
Messages
2 088 197
Membres
103 763
dernier inscrit
p.michaux