× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Macro excel pour attribution de lotSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
jeansérien
  Posté le 09/09/2015 @ 10:24 
Aller en bas de la page 
Petit astucien

Bonjour,

Mon association organise une tombola.

Nous attribuons un lot par carnet acheté.

Nous vendons 100 carnets et avons ainsi 100 lots à distribuer répertoriés dans un fichier excel .

Pour éviter la tricherie, l'attribution doit se faire le jour du tirage par exécution d'un programme de manière à ne pas avoir une liste pré-établie d'affectation.

Je ne doute pas de trouver parmi les astuciens la réponse à ma demande de macro.

Je connais un peu excel mais pas les macros.

Je consulte régulièrement les forums de PCastuces mais ne suis pas à l'aise pour faire moi-même une demande.

Merci à tous ceux qui m'auront lu.

Guy

Publicité
pcastuces
 Posté le 09/09/2015 à 16:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Equipe PC Astuces
Bonjour,

Le sujet a été déplacé par la modération dans le forum Bureautique qui semble plus adéquat.

Vous pouvez continuer la discussion à la suite de ce message.

A bientôt.
rj390111
 Posté le 09/09/2015 à 17:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Cela manque un peu d'explications

Je suppose que chaque carnet contient un nombre de billets. Combien ? Les carnets sont vendu entier ou par billet ? Un billet de chaque carnet sera tiré au sort pour déterminer le billet gagnant ? Tous les n° des billets se suivent pour tous les carnets ?

Le 1er n° est : ? Le dernier n° est (n'est important que s'ils se suivent) sinon il faut les n° des différentes séries.



Modifié par rj390111 le 09/09/2015 17:34
jeansérien
 Posté le 09/09/2015 à 18:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour RJ

merci pour cette lecture rapide.

Nous avons 10 lots que nous attribuerons par tirage au sort et 100 lots distribués à raison de 1 lot par carnet de 10 tickets, cela signifie que nous avons 100 carnets de tickets vendus.

Les lots sont répertoriés dans un fichier numéroté de 6 à 106.

Pour éviter toute suspicion de tricherie, nous ne voulons pas prévoir à l'avance l'attribution des lots à chaque carnet afin d'éviter qu'une fuite puisse permettre le choix du carnet en fonction du lot.

Donc nous avons pensé à une macro à exécuter au moment du tirage au sort pour l'affectation des lots.

Il y a 1000 tickets répartis par carnets de 10 tickets, ce qui fait 100 carnets

carnet n°1 de ticket 1 à 10

carnet n°2 de ticket 11 à 20

etc....

L'exécution de la macro produirait un fichier de résultat.

Suis je assez clair ?

Cordialement

Guy

dlxpat
 Posté le 09/09/2015 à 21:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Une solution : vous créez en colonne A (par exemple !) les chiffres du carnet 1, soit de à 10, en C les chiffres du carnet 2, soit de 11 à 20, en E les chiffres du carnet 3, soit de 21 à 30......

En B1 entrez la formule =ALEA.ENTRE.BORNES(A1;A10), en D1 =ALEA.ENTRE.BORNES(c1;c10), en F1, =ALEA.ENTRE.BORNES(e1;e10) et ainsi de suite ....Vous mettez ces cellules avec formule en couleur de texte blancs (idem à la couleur de fond de la cellule concernée !.

Dans VBA vous entrez la macro ci-dessous, en rajoutant après Range("B1........) toutes les cellules dans lesquelles figure la formule alea, vous remplacez H1 avant Activate par la dernière cellule concernée par la formule..........et le tour est joué

Sub COULEUR()

'' COULEUR Macro

Range("B1,D1,F1,H1").Select

Range("H1").Activate

With Selection.Font

.ColorIndex = xlAutomatic

.TintAndShade = 0

End With

Range("A1").Select

End Sub

ferrand
 Posté le 10/09/2015 à 13:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Il y 100 carnets de 10 tickets. Les tickets sont numérotés de 1 à 1000.

Il y a 100 lots à répartir par tirage au sort par carnet. Si les carnets n'ont pas de numéro propre, ce sera de 0 à 99 (en se basant sur la numérotation des tickets.
[lots numérotés de 6 à 106, ça fait 101 lots, et ça ne colle pas.]

Il y a 10 lots à tirer parmi les 1000 tickets.

Pour le tirage, une macro simple sur un modèle inspiré par Galopin :

Sub Tirage()
Dim Ch, i%, n%, c$
For i = 1 To 100
Ch = Ch & Chr(32 + i)
Next i
Randomize
With Range("B1:B100")
For i = 1 To 100
n = Int(Rnd * Len(Ch) + 1)
c = Mid(Ch, n, 1)
.Cells(i, 1).Value = Asc(c) - 33
Ch = Replace(Ch, c, "")
Next i
End With
End Sub

Il faut remplacer l'indication B1:B100 par la plage (colonne) en regard des 100 lots, et l'exécution de la macro aboutira à un nombre de 0 à 99 [numéro de carnet] en regard de chaque lot.

Pour le reste, il faut être plus précis dans ce que tu veux, et mettre autant que possible un modèle, sur lequel on puisse voir le résultat à obtenir et répondre de façon concrète.

Corrdialement

jeansérien
 Posté le 10/09/2015 à 14:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Ferrand

Beau travail !

Malgré des explications approximatives la macro fonctionne parfaitement.

Je n'ai plus qu'à trier le résultat pour avoir tout cela dans l'ordre.

Merci beaucoup pour votre diligence.

Merci à dixpat également dont j'essaierai la macro

Je considère et positionne la demande comme résolue

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
89,99 €SSD WD Black SN750 500 Go (NMVe M.2, 3470 Mo/s) à 89,99 €
Valable jusqu'au 07 Juin

Amazon fait une promotion sur le SSD WD Black SN750 500 Go (NMVe M.2) qui passe à 89,99 € livré alors qu'on le trouve ailleurs à partir de 115 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen3 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 3 470 Mo/s en lecture séquentielle et jusqu’à 3 000 Mo/s en écriture séquentielle. Le SSD est doté de la technologie 3D TLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de cinq ans.


> Voir l'offre
59,99 €Souris Razer Viper à 59,99 €
Valable jusqu'au 05 Juin

Amazon fait une promotion sur la souris Razer Viper qui passe à 59,99 € livrée gratuitement alors qu'on la trouve ailleurs autour de 80 €. Cette souris ultra légère (69g) est ambidextre et dispose d'un capteur optique jusqu'à 16000 DPI. Vous pouvez créer vos propres réglages et les enregistrer dans la souris.


> Voir l'offre
GratuitJeu PC Borderlands : The Handsome Collection gratuit
Valable jusqu'au 04 Juin

Epic Game Store offre actuellement l'excellent jeu PC Borderlands : The Handsome Collection. Dézinguez à tours de bras en explorant le monde chaotique de Pandore dans BORDERLANDS 2 et la folie lunaire de BORDERLANDS: THE PRE-SEQUEL dans BORDERLANDS: THE HANDSOME COLLECTION.


> Voir l'offre

Sujets relatifs
Creation d' une boucle macro dans fichier EXCEL pour impression
Macro pour ouverture d'un fichier Excel
Macro pour créer un Gencode sur Excel - EAN 18
Macro pour un envoi feuille excel par mail
Macro excel pour enregistrer
macro excel pour convertir données
EXCEL RECHERCHEV pour autre fichier. Macro?
macro pour passer de word vers excel
Excel : macro pour récupérer ttes les données ?
macro excel pour convertir données d'un txt
Plus de sujets relatifs à Macro excel pour attribution de lot
 > Tous les forums > Forum Bureautique