Bonsoir Seddiki_adz, Soan,
Si le but est de faire des tirages au sort ( 5 dans votre fichier ), cela ne peut marcher qu'avec des copier/coller valeurs à la main.
Ou alors faire directement les tirages par VBA.
En PJ un exemple où on fait 10 tirages aléatoires avec cette macro :
VB:
Sub Tirage()
Application.ScreenUpdating = False
DL = Range("B65500").End(xlUp).Row ' dernière ligne
tablo = Range("B2:B" & DL) ' transfert des noms dans un tablo
ReDim Alea(DL) ' nouveau tableau de même taille pour contenir des nombres aléatoires
For Colonne = 4 To 13 ' de la colonne D à la colonne M soit 10 tirages.
For i = 0 To UBound(Alea) ' on remplit le tableau de valeurs alea...
Bonsoir Seddiki_adz, Soan,
Si le but est de faire des tirages au sort ( 5 dans votre fichier ), cela ne peut marcher qu'avec des copier/coller valeurs à la main.
Ou alors faire directement les tirages par VBA.
En PJ un exemple où on fait 10 tirages aléatoires avec cette macro :
VB:
Sub Tirage()
Application.ScreenUpdating = False
DL = Range("B65500").End(xlUp).Row ' dernière ligne
tablo = Range("B2:B" & DL) ' transfert des noms dans un tablo
ReDim Alea(DL) ' nouveau tableau de même taille pour contenir des nombres aléatoires
For Colonne = 4 To 13 ' de la colonne D à la colonne M soit 10 tirages.
For i = 0 To UBound(Alea) ' on remplit le tableau de valeurs alea
Alea(i) = Rnd
Next i
For i = 1 To UBound(tablo) ' on tri sur les valeurs alea croissantes
For j = 1 To UBound(tablo)
If Alea(i) > Alea(j) Then
Buffer = Alea(i): Alea(i) = Alea(j): Alea(j) = Buffer
Buffer = tablo(i, 1): tablo(i, 1) = tablo(j, 1): tablo(j, 1) = Buffer
End If
Next j
Next i
Cells(2, Colonne).Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo ' on restitue les données
Next Colonne
Application.ScreenUpdating = True
End Sub
Bonsoir Seddiki_adz, Soan,
Si le but est de faire des tirages au sort ( 5 dans votre fichier ), cela ne peut marcher qu'avec des copier/coller valeurs à la main.
Ou alors faire directement les tirages par VBA.
En PJ un exemple où on fait 10 tirages aléatoires avec cette macro :
VB:
Sub Tirage()
Application.ScreenUpdating = False
DL = Range("B65500").End(xlUp).Row ' dernière ligne
tablo = Range("B2:B" & DL) ' transfert des noms dans un tablo
ReDim Alea(DL) ' nouveau tableau de même taille pour contenir des nombres aléatoires
For Colonne = 4 To 13 ' de la colonne D à la colonne M soit 10 tirages.
For i = 0 To UBound(Alea) ' on remplit le tableau de valeurs alea
Alea(i) = Rnd
Next i
For i = 1 To UBound(tablo) ' on tri sur les valeurs alea croissantes
For j = 1 To UBound(tablo)
If Alea(i) > Alea(j) Then
Buffer = Alea(i): Alea(i) = Alea(j): Alea(j) = Buffer
Buffer = tablo(i, 1): tablo(i, 1) = tablo(j, 1): tablo(j, 1) = Buffer
End If
Next j
Next i
Cells(2, Colonne).Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo ' on rla estitue les données
Next Colonne
Application.ScreenUpdating = True
End Sub