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

Wydinho -  
[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

4 réponses

  1. 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
    1. 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
  2. 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
  3. Profil bloqué
     
    Bonjour,

    je peu vous proposer une solution web mais je pense que ce que vous cherchez est une solution gratuite ?
    0
    1. 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
  4. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    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