Alea
Le
Manu

Bonjour,
Est t'il possible de faire une fx Alea.entre.borne(1;20) que je vais tirer
sur 20 cellules mais que chaque résultat soit différent, c'est à dire que
sur les 20 cellules résultats, qu'il n'y ais jamais 2 fois le même nombre.
Merci
Manu
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Est t'il possible de faire une fx Alea.entre.borne(1;20) que je vais tirer
sur 20 cellules mais que chaque résultat soit différent, c'est à dire que
sur les 20 cellules résultats, qu'il n'y ais jamais 2 fois le même nombre.
Merci
Manu
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Oui ça s'appelle une permutation aléatoire. Mais excel ne fournit pas
la fonction. On peut faire :
sur A1:A20 : =ALEA()
sur B1:B20 : =EQUATION.RANG(A1;$A$1:$A$20)
ce n'est pas super rigoureux, car si ALEA() renvoie deux fois le même
nombre, EQUATION.RANG renverra aussi deux fois le même nombre : on
n'aura donc pas une permutation, mais une surjection. Il y a moyen
de contourner le problème (avec NB.SI notamment) mais la probabilité
pour que ALEA() renvoie deux fois le même nombre est infinitésimale...
Florent.
Merci Florent.
Manu
"GL" a écrit dans le message de groupe de discussion :
5516ad4a$0$3339$
Le 28/03/2015 13:31, Manu a écrit :
Oui ça s'appelle une permutation aléatoire. Mais excel ne fournit pas
la fonction. On peut faire :
sur A1:A20 : =ALEA()
sur B1:B20 : =EQUATION.RANG(A1;$A$1:$A$20)
ce n'est pas super rigoureux, car si ALEA() renvoie deux fois le même
nombre, EQUATION.RANG renverra aussi deux fois le même nombre : on
n'aura donc pas une permutation, mais une surjection. Il y a moyen
de contourner le problème (avec NB.SI notamment) mais la probabilité
pour que ALEA() renvoie deux fois le même nombre est infinitésimale...
Florent.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Derien. Sinon vous pouvez aller dans Avast
-> Paramètres -> Protection Active -> Agent Mail, Personnaliser
et décocher les cases :
- Analyser le courrier sortant (SMTP)
- Analyser les messages News (NNTP)
Ca supprime le vilain bandeau, et comme on dit sur la toile, c'est à
celui qui reçoit le message de s'assurer qu'il n'y a pas d'antrax
dedans, pas à celui qui l'envoie !
Une petite macro au besoin...
'---------------------------------------------------
Sub test()
Dim Dic As Object, X As Long, A As Long
Dim Limite_Inf As Long, LimiteSup As Long
Dim Nb As Long
Limite_Inf = 1: LimiteSup = 20
Nb = 20 'Nombre de valeurs différentes à tirer
Set Dic = CreateObject("Scripting.dictionary")
While Dic.Count < Nb
Randomize
X = Application.RandBetween(Limite_Inf, LimiteSup)
If Not Dic.exists(X) Then
A = A + 1
DoEvents
Dic.Add X, A
End If
Dic(X) = X
Wend
With Worksheets("Feuil1") 'Nom feuille à adapter
'Pour écrire en colonne le résultat de A1:A20
.Range("A1").Resize(Nb) = Application.Transpose(Dic.keys)
'Pour écrire en ligne le résultat
.Range("A1").Resize(, Nb) = Dic.keys
End With
End Sub
'---------------------------------------------------
"Manu" a écrit dans le message de groupe de discussion : mf66v9$fei$
Bonjour,
Est t'il possible de faire une fx Alea.entre.borne(1;20) que je vais tirer
sur 20 cellules mais que chaque résultat soit différent, c'est à dire que
sur les 20 cellules résultats, qu'il n'y ais jamais 2 fois le même nombre.
Merci
Manu
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com