Création d'un logiciel de Tirage aléatoire

Wydinho -  
[Dal] Messages postés 6373 Statut Contributeur -
Bonjour à tout le monde!!
Je vais faire aussi court que possible :lol:
Je suis le responsable de la commission informatique d'une association estudiantine et nous avons besoin d'un logiciel permettant d'attribuer à chaque élève arrivant en première année un parrain étant en deuxième année. Le dit tirage devant être aléatoire, nous utilisons régulièrement un logiciel. Toutefois, le logiciel en question a décidé de bugger dur sur nos machines, nous sommes donc en quête d'un nouvel outil pour effectuer notre tirage.
Je suis sûr que les membres de la communauté pourrons m'aider dans cette quête ardue ou au pire m'aider à écrire moi même un tel logiciel même si mes compétences en programation sont vraiment très basiques

PS: j'ai pensé à une macro sur excel mais je n'en trouve pas.
Merci d'avance pour votre aide

4 réponses

Utilisateur anonyme
 
Bonjour !
Très simple !

1ere colonne (A) : la liste des 1ère années
2eme colonne (B) : la liste des 2eme années
3eme colonne (C) : la formule "=AlEA()" sur toute la colone

Sélectionnez les B et C et faitent Trier et Filtrer / Tri personnalisé.

Trier par Colonne C, du plus petit au plus grand, ok.
2
Wydinho
 
Merci Beaucoup de ce post, il m'apporte une solution de rechange au cas où jusqu'au dernier moment je n'aie pas trouvé de logiciel!! toutefois le sujet reste ouvert pour une solution plus complete.
0
G_33
 
Bonjour
j'ai trouvé ça sur un forum qui pourrait vous aider.
Option Explicit
Option Base 1
Dim Z As Byte
Dim TabJ As Variant
Dim Tablo As Variant

Sub TirageParties()
Dim A As Byte, B As Byte, C As Byte, D As Byte
Dim i As Integer, j As Integer, k As Integer, NbJ As Byte
Dim NbP As Byte, l As Byte, P As Byte, Lig As Integer, Y As Byte
Dim ZoneR As Range, Cell As Range

Application.ScreenUpdating = False
Z = Range("A65536").End(xlUp).Row
' Effacement des anciennes données
Union(Range("B2:B2000"), Range("D1:DZ1000")).ClearContents
' Mise en nombre de joueurs pair
If Z Mod 2 = 0 Then
MsgBox "Un nombre pair de joueur est nécessaire !": Exit Sub
End If
NbJ = Z - 1
' Tirage aléatoire des joueurs
TirageAleatoire

' Affichage de la liste aléatoire
Range(Cells(2, 2), Cells(Z, 2)) = Tablo
' Tableau des binômes de joueurs
ReDim TabloC(1 To (NbJ * (NbJ - 1)), 1)
' Première boucle pour le nombre de parties

'ZoneR.SpecialCells(xlCellTypeBlanks).Delete
Application.ScreenUpdating = True
End Sub
Sub TirageAleatoire()
Dim j As Integer, k As Integer, T As Byte, X As Byte
Randomize 'Initialisation du générateur de nombres aléatoires

' Mise en mémoire dans un tableau des noms d'équipes
TabJ = Range("A2:A" & Z)
' Déclaration et définition du tableau de la liste aléatoire
ReDim Tablo(1 To UBound(TabJ), 1 To 2)
' Tirage aléatoire des joueurs et mise en  tableau de la liste aléatoire
For j = 1 To Z - 1
Do
X = 0
   T = Int(((Z - 1) * Rnd) + 1)
   Tablo(j, 1) = TabJ(T, 1) ' Mise en colonne aléatoire
      For k = 1 To j - 1
      If Tablo(j, 1) = Tablo(k, 1) Then
      X = 1
      Exit For
      End If
      Next k
Loop Until X = 0
Next j
End Sub

les données dans la colonne A
le resultat dans la colonne b
placer ce code dans un module standard
Cordialement
1
Profil bloqué
 
Bonjour,

je peu vous proposer une solution web mais je pense que ce que vous cherchez est une solution gratuite ?
0
Wydinho
 
Proposez toujours, si l'Association doit mettre la main à la poche ce ne sera pas un problème, même si on ne serait pas contre une solution gratuite. Merci de me répondre
0
[Dal] Messages postés 6373 Statut Contributeur 1 106
 
Salut Wydinho,

"Toutefois, le logiciel en question a décidé de bugger dur sur nos machines, nous sommes donc en quête d'un nouvel outil pour effectuer notre tirage."

Une autre solution serait de déboguer ce "logiciel" :-)

Dal
0

Discussions similaires