Bonjour,
je commence en macro et mon premier défi a été de créer un bouton pour un tirage au sort pour une tombola d'école.
Dans la colonne A j'inscrit le numéro des tickets vendus
Dans la Colonne E on inscrit les numéros tirés au sort aléatoirement
Je voudrais ajouté une condition pour vérifier le numéro qui sort n'est pas déjà sorti dans les cellules au dessus mais rien n'y fait.
J'ai pensé utilisé une variable qui relirai la colonne E
CompareVal=Range("E3:E"& LastLig) où LastLig serait la fin de la colonne A
Puis une boucle For Each mais je ne sais pas comment faire
Avez vous une solution pour moi?
Sub Bouton1_Cliquer()
Dim LastLig As Integer, i As Integer, j As Integer
Dim k As Integer, m As Integer,
Dim Tb As Variant
Application.ScreenUpdating = False
With Sheets("ListTicket") 'onglet choisit
LastLig = .Cells(Rows.Count - 1, 1).End(xlUp).Row
LastLig = LastLig - 1
'partie qui génère le tirage au sort
i = 3: j = 5 'coordonnées de la 1ere cell ou écrire les datas
Tb = .Range("A2:A" & LastLig).Value 'Liste des valeurs dont on veut un tirage
Do
Randomize
m = Int(LastLig * Rnd() + 1) ' selection random de valeur
.Cells(i, j).Value = Tb(m, 1) ' mettre la valeur dans la cellule
For k = m + 1 To LastLig - 1 'pour les valeurs de m comprise entre la seconde ligne
'jusqu'à la dernière valeur
Tb(k - 1, 1) = Tb(k, 1)
Next k
If i = 6000 Then 'boucle if qui permet d'écrire dans les cellules en dessous
i = 3
Else
i = i + 1
End If
LastLig = LastLig - 1
Loop While LastLig > 0
End With
End Sub