XL 2016 Fichier loto associatif perso

Jean""14

XLDnaute Nouveau
Bonjour
Dans le fichier joint, je cherche une formule vba qui supprimerai les numéros déja sortis à chaque tirage.
90 numéros au 1er tirage, 89 au 2eme et ainsi de suite pour supprimer les doublons.
Par la fonction Index Equiv les numéros sortis sont envoyés dans la colonne BB et classés dans la colonne BA en correspondance à la colonne AZ.
Ne connaissant pas l'anglais, j'ai un peut de mal à gérer les formules VBA.
Quelqu'un peut il m'aider.
Merci d'avance.
Excusez moi pour l'oubli du Bonjour dans ma première discussion .!!!
 

Pièces jointes

  • Loto associatif.xlsm
    42.9 KB · Affichages: 21

Dranreb

XLDnaute Barbatruc
En glissant/déplaçant le module de classe ListeAléat du classeur joint vers le projet VBA de votre classeur, cette procédure vous fait des tirages un par un sans doublon :
VB:
Option Explicit
Sub Tirage()
   Dim LAt As New ListeAléat, TC(), L As Long, LR As Long, N As Long
   TC = ActiveSheet.[BB2].Resize(90).Value
   Randomize
   LAt.Init 90
   For L = 1 To 90
      If VarType(TC(L, 1)) = vbDouble Then
         LAt.Supprimer TC(L, 1)
      ElseIf LR = 0 Then
         LR = L
         End If
      Next L
   N = LAt.Aléat
   ActiveSheet.[AX5].Value = N
   TC(LR, 1) = N
   ActiveSheet.[BB2].Resize(90).Value = TC
   End Sub
Remarque: les méthodes et propriétés de l'objet ListeAléat sont très documentées dans le module de classe ListeAléat.
 

Pièces jointes

  • ListeAléat.xlsm
    295.5 KB · Affichages: 18

Jean""14

XLDnaute Nouveau
Bonjour,
Merci d'avoir travaillé pour moi
Mes compétences dans Excel sont insuffisantes pour réaliser une telle macro.
J'ai suivi votre instruction. Il y a un petit problème qui nuit au fonctionnement (Pièce jointe).
Merci encore pour cette macro trop compliquée pour moi .
Je vais faire un effort pour être supporter bronze malgré mes 442.00€ de retraite mensuels
 

Dranreb

XLDnaute Barbatruc
Vous n'avez probablement simplement pas installé mon module de classe ListeAléat qui définit ce type d'objet. Rappel : Il suffit, dans l'explorateur de projets, de glisser/déplacer son nom avec la souris du VBAProject du ListeAléat.xlsm vers celui de votre classeur.
 

Dranreb

XLDnaute Barbatruc
Dans l'explorateur de projet, ouvrez la rubrique Modules de classe du VBAProject du ListeAléat.xlsm. Vous y trouvez un ListeAléat. Vous mettez le curseur sur ce nom et vous enfoncez le bouton gauche de la souris, vous déplacez le curseur vers le VBAProject de votre classeur, enfin vous relâchez le bouton de la souris, et hop vous en avez une copie dedans !
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour
Dans le fichier joint, je cherche une formule vba qui supprimerai les numéros déja sortis à chaque tirage.
90 numéros au 1er tirage, 89 au 2eme et ainsi de suite pour supprimer les doublons.
Par la fonction Index Equiv les numéros sortis sont envoyés dans la colonne BB et classés dans la colonne BA en correspondance à la colonne AZ.
Ne connaissant pas l'anglais, j'ai un peut de mal à gérer les formules VBA.
Quelqu'un peut il m'aider.
Merci d'avance.
Excusez moi pour l'oubli du Bonjour dans ma première discussion .!!!
:mad: on ne change pas de fil pour reposer la même question
une proposition avait été faite là :
 
Dernière édition:

Statistiques des forums

Discussions
312 211
Messages
2 086 295
Membres
103 171
dernier inscrit
clemm