Création d'un logiciel de Tirage aléatoire
Wydinho
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
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
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
-
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. -
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 -
Bonjour,
je peu vous proposer une solution web mais je pense que ce que vous cherchez est une solution gratuite ?
-
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