Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Tirage au sort pour Noël "Échange de cadeaux"

Dominique Gagnon

XLDnaute Nouveau
Bonjour à tous, je veux créer un petit programme qui permettrait de faire une pige de cadeau de Noël !
En tenant compte des couples.
 

NONO14

XLDnaute Impliqué
Je crois que ce veut dire Dominique, c'est qu'il y a une liste cadeaux. A partir de là, on fait un tirage aléatoire des cadeaux qui seront remis à un couple qui lui aussi sera tiré au hasard. De cette façon, c'est le sort qui désigne le couple (personnes déjà en couple) et qui repart avec le cadeau.
 

NONO14

XLDnaute Impliqué
Il faut créer une liste de noms dans une feuille et utiliser ce code vba que j'avais en réserve (non testé)

VB:
Private noms As Collection

Sub InitialiserListe()
    Dim ws As Worksheet
    Dim rng As Range
    Dim nom As Range
  
    ' Définir la feuille et la plage de la liste de noms
    Set ws = ThisWorkbook.Sheets("Feuille1") ' Change "Feuille1" par le nom de ta feuille
    Set rng = ws.Range("A1:A10") ' Change la plage selon tes besoins

    ' Ajouter les noms de la plage dans une collection
    Set noms = New Collection
    For Each nom In rng
        If nom.Value <> "" Then
            noms.Add nom.Value
        End If
    Next nom
End Sub

Sub TirageAleatoire() - Macro à affecter à un bouton de commande dans une feuille
    If noms Is Nothing Then
        Call InitialiserListe
    End If

    If noms.Count > 0 Then
        Randomize
        Dim index As Long
        index = Int(noms.Count * Rnd) + 1
        MsgBox noms(index) ' Afficher le nom dans une MsgBox
        noms.Remove index ' Supprimer le nom de la liste
    Else
        MsgBox "Tous les noms ont été tirés."
    End If
End Sub
 

Pièces jointes

  • ExempleTirage.xlsm
    25.1 KB · Affichages: 4
Dernière édition:

NONO14

XLDnaute Impliqué
Voici un début. Dans la feuille "Base de donnée" vous avez 2 boutons "Tirage" et "Afficher".
En cliquant sur "Tirage", un onglet est tiré au sort. Lorsque vous revenez sur la feuille "Base de donnée", la dernière feuille sélectionnée est cachée. Le bouton "Afficher" sert à rendre de nouveau visible toutes les feuilles si nécessaire.
 

Pièces jointes

  • Échange de cadeaux 0.xlsm
    46.4 KB · Affichages: 5
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…