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

Microsoft 365 Tirage aléatoire et récupération de la valeur tirée dans un tableau

Totor43

XLDnaute Nouveau
Bonjour à tous,
Je souhaite créer sous Excel VBA un bingo dans lequel j'aurai une liste avec des nombres de 1 à 90 et que lorsque j'effectuerai mon tirage un nombre de cette liste passe dans une autre liste situé sur une colonne d'à côté. Je ne suis pas sûr d'être très clair. Pour le moment j'arrive à effectuer un tirage aléatoire entre les nombres de cette liste mais je n'arrive pas à le recopier dans la liste d'à coté tout en le supprimant de la première sachant que je veux effectuer le tirage plusieurs fois d'affilé sans avoir de doublon.
Si vous pouvez m'aider.
Merci par avance.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Totor43,
Bienvenue sur XLD ,

Un essai vite fait dans le fichier joint.
  • Le code est dans le module de la feuille nommée "Feuil1"
  • Double-cliquer sur la cellule E1 pour réinitialiser le tirage
  • Double-cliquer sur la cellule C1 pour tirer le numéro suivant
Le code est dans le module de code associé à la feuille "Feuil1".


edit : bonjour @Dranreb
 

Pièces jointes

  • Totor43- Doublons- v1.xlsm
    17.7 KB · Affichages: 40
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Le classeur joint est équipé d'un module de classe ListeAléat définissant un type d'objet du même nom.
À l'initialisation garni de n numéros de 1 à n en ordre aléatoire, cet objet est équipé d'une méthode supprimer permettant d'en retirer un numéro déjà sorti.
 

Pièces jointes

  • ListeAléat.xlsm
    297.7 KB · Affichages: 21

Totor43

XLDnaute Nouveau
Merci à vous deux,
L'exemple de @mapomme se rapproche le plus de mon idée, sauf que j'aimerais que lorsqu'un nombre est tiré, il soit supprimé de la première liste afin d'éviter les doublons.
Pensez-vous que ce soit possible en modifiant le code simplement ?
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Voir également ici :
 

Totor43

XLDnaute Nouveau
Bonsoir,
Je reviens vers vous car je souhaite changer la couleur des cellules de ma grille pour lesquelles le numéro est déjà sorti. Pour ce faire j'ai écrit le code suivant :

Sub verif_tirage()
For Each cell In Worksheets("Carton").Range("L1:T12")
If cell.Value = Worksheets("Tirage").Range("C1:C92") Then
cell.Interior.ColorIndex = 1
End If
Next cell
End Sub

Le problème est que ça me met une erreur "incompatibilité de type", je pense que cela vient du fait que je veux faire ma vérification entre 2 plages de données mais je ne vois pas comment résoudre mon problème.
Vous remerciant par avance.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…