Création d'un logiciel de Tirage aléatoire
Wydinho
-
[Dal] Messages postés 6373 Statut Contributeur -
[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
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
A voir également:
- Création d'un logiciel de Tirage aléatoire
- Logiciel de sauvegarde gratuit - Guide
- Logiciel - Guide
- Ce logiciel gratuit répare automatiquement votre PC quand Windows a des problèmes - Guide
- Money logiciel - Télécharger - Comptabilité & Facturation
- Ce petit logiciel gratuit répare automatiquement votre PC sans aucune connaissance technique - Guide
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.
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.
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.
Bonjour
j'ai trouvé ça sur un forum qui pourrait vous aider.
les données dans la colonne A
le resultat dans la colonne b
placer ce code dans un module standard
Cordialement
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