Tirage au sort avec exclusion des valeurs précédentes

charles2b

XLDnaute Nouveau
Salut à tous,

je cherche en fait à redistribuer un N° à une cellule aléatoirement. Je m'explique :
C.A C.B C.C
1 A
2 B
3 C
4 D
5 E
6 F
7 G
8 H
9 I
...
en colonne C (C.C) je cherche donc à réattribuer un nombre à chaque lettre (A à J)
Le problème est que la formule ALEA ou ENTRE.BORNES me ramène parfois le même nombre.
Quelqu'un aurait il une solution ?

Par avance merci à tous.
 

Pièces jointes

  • tirage au sort.xls
    23.5 KB · Affichages: 65
  • tirage au sort.xls
    23.5 KB · Affichages: 76
  • tirage au sort.xls
    23.5 KB · Affichages: 70

ROGER2327

XLDnaute Barbatruc
Re : Tirage au sort avec exclusion des valeurs précédentes

Bonjour à tous
Une petite fonction matricielle personnalisée :
Code:
[COLOR="DarkSlateGray"][B]Function redistribue(r As Range)
Dim i&, di&, im&, j&, dj&, jm&, x, oDat
   Application.Volatile
   oDat = r.Value
   im = UBound(oDat, 1): jm = UBound(oDat, 2)
   For i = 1 To im
      For j = 1 To jm
         di = 1 + Int(Rnd * im): dj = 1 + Int(Rnd * jm)
         x = oDat(i, j): oDat(i, j) = oDat(di, dj): oDat(di, dj) = x
      Next
   Next
   redistribue = oDat
End Function[/B][/COLOR]

Mode d'emploi :
- Sélectionner une plage de même étendue que la plage contenant les données.
- Écrire la formule =redistribue(plage_de_données) et valider par Ctrl + Maj + Entrée.​
ROGER2327
#3600


Dimanche 15 Merdre 137 (Saints Serpents d'Airain, ST)
13 Prairial An CCXVIII
2010-W22-2T15:39:08Z
 

Pièces jointes

  • Mélange_3600.xls
    23.5 KB · Affichages: 113

Statistiques des forums

Discussions
312 492
Messages
2 088 908
Membres
103 982
dernier inscrit
krakencolas