Tirage au sort

jaxlion

XLDnaute Nouveau
Bonjour à tous,

J'aimerais ajouter dans un tableau excel un bouton qui appelle une macro ou autre pour un tirage au sort de toute une ligne.
Je joins un fichier d'explications, le tirage doit être unique, il ne doit pas générer 2x la même ligne

Merci de votre aide et bon dimanche à tous

Lionel
 

Pièces jointes

  • tirage.xlsx
    14.2 KB · Affichages: 28
  • tirage.xlsx
    14.2 KB · Affichages: 26

Dranreb

XLDnaute Barbatruc
Re : Tirage au sort

Bonjour.
Dans un module standard :
VB:
Option Explicit
Private TAléat() As Long, Posit As Long

Sub TIRAGE()
Dim P As Long, N As Long, A As Long, J As Long
On Error Resume Next
Posit = Posit Mod UBound(TAléat) + 1
If Err Then Posit = 1
On Error GoTo 0
If Posit = 1 Then
   ReDim TAléat(1 To Feuil1.[A500].End(xlUp).Row - 1):
   For P = 1 To UBound(TAléat): TAléat(P) = P: Next P
    Randomize
   For P = UBound(TAléat) To 2 Step -1
      A = Int(Rnd * P) + 1: J = TAléat(A): TAléat(A) = TAléat(P): TAléat(P) = J
      Next P: End If
Feuil1.[I10:N10].Value = Feuil1.[A1:G1].Offset(TAléat(Posit)).Value
End Sub
Remarque: il peut tirer 2 fois le même après les avoir tirés tous.
 
Dernière édition:

Statistiques des forums

Discussions
312 492
Messages
2 088 942
Membres
103 989
dernier inscrit
jralonso