Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Re: tirage au sort

1 réponse
Avatar
papyty
Salut Lucho
Une petite modif, est ce que ça te vas?
@+
Thierry

Sub zz_TirXX()
Dim DerCel As Long
Application.ScreenUpdating = False
DerCel = Range("a65536").End(xlUp).Row
If DerCel < 2 Then Exit Sub
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Range("B1:B" & DerCel) = "=rand()"
Range("A1:B" & DerCel).Sort Key1:=[B1], Order1:=xlAscending
Range("B1:B" & DerCel) = Range("A1:A" & DerCel).Value
Range("A1:A" & DerCel).Sort Key1:=[A1], Order1:=xlAscending
If Int(DerCel / 2) <> DerCel / 2 Then
Range("B" & DerCel + 1) = Range("B" & DerCel)
Range("B" & DerCel) = "Qualifié"
Range("B" & DerCel).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ColorIndex = 3
Range("B" & DerCel + 1).Select
Selection.Font.ColorIndex = 3
End If
Application.ScreenUpdating = True
Range("B1").Select
End Sub

"Lucho" <arnera@club-internet.fr> a écrit dans le message de news:
3f50dcec$0$20943$7a628cd7@news.club-internet.fr...
> en fait avec ton petit prog je fait un tirage au sort d'une liste
d'inscrit,
> si ce nombre est impair, il me faut alors un deuxieme tirage au sort qui
> selectionne dans ma liste qui vient d'etre tire un numero seulement que je
> fait passer au tour suivant directement...j'espere que tu me comprend
>
> mais il n'y a peu etre pas besoin de macro pour ca mais je n'arrive pas a
> mettre la main sur une fonction me le permettant.
>
> merci encore A+
>
> Lucho
>
> "papyty" <papyty@yahoo.fr> a écrit dans le message de news:
> ui5Xi2nbDHA.2928@tk2msftngp13.phx.gbl...
> > De rien Lucho c'est un plaisir
> > Ce mettre au VBA c'est une super idée on ne peut plus s'en passer
> > Pour ton 2eme souci je n'ai pas bien saisi
> > tu veux qu'une cellule soit selectionné au hasard dans une des colonnes?
> > J'attend tes précisions
> > @+
> > Thierry
> >
> >
> > "Lucho" <arnera@club-internet.fr> a écrit dans le message de news:
> > 3f4f7eca$0$20953$7a628cd7@news.club-internet.fr...
> > > genial merci pour cette macro, c'est exactement ce que je cherche, par
> > > contre 2eme souci.0
> > >
> > > comment faire pour selectionner un numero au hazard dans une liste
tiré
> au
> > > sort grace a ton petit prog.
> > >
> > > encore merci decidement il faut que je me mette au VBA
> > >
> > > salut
> > >
> > >
> > > "papyty" <papyty@yahoo.fr> a écrit dans le message de news:
> > > #kAGnzbbDHA.2620@TK2MSFTNGP09.phx.gbl...
> > > > Salut Lucho
> > > >
> > > > Essai ça
> > > >
> > > > Sub zz_Tir50()
> > > > Dim DerCel As Long
> > > > Application.ScreenUpdating = False
> > > > DerCel = Range("a65536").End(xlUp).Row
> > > > If DerCel < 2 Then Exit Sub
> > > > Columns("B:B").Select
> > > > Selection.ClearContents
> > > > Range("B1:B" & DerCel) = "=rand()"
> > > > Range("A1:B" & DerCel).Sort Key1:=[B1], Order1:=xlAscending
> > > > Range("B1:B" & DerCel) = Range("A1:A" & DerCel).Value
> > > > Range("A1:A" & DerCel).Sort Key1:=[A1], Order1:=xlAscending
> > > > Application.ScreenUpdating = True
> > > > Range("A1").Select
> > > > End Sub
> > > >
> > > > @+
> > > >
> > > >
> > > > "Lucho" <arnera@club-internet.fr> a écrit dans le message de news:
> > > > 3f4cae18$0$1797$7a628cd7@news.club-internet.fr...
> > > > > non ce n'est pas ce que je cherche, la fonction alea genere 1
numero
> > > > > aleatoire, qui plus est ne figure pas dans un liste, je cherche
une
> > > > fonction
> > > > > capable de generer une suite de nombre aleatoire a partir d'une
> liste
> > de
> > > > > nombre existant...
> > > > >
> > > > > j'ai utilise cette macro pour faire ca
> > > > >
> > > > > Sub zz_Tir50()
> > > > > Application.ScreenUpdating = False
> > > > > [B1:B86] = "=rand()"
> > > > > [A1:B86].Sort Key1:=[B1], Order1:=xlAscending
> > > > > [B1:B86] = [A1:A86].Value
> > > > > [A1:A86].Sort Key1:=[A1], Order1:=xlAscending
> > > > > End Sub
> > > > >
> > > > >
> > > > > mais je suis oblige de la reprogramer a chaque fois si le nombre
de
> > > > chiffre
> > > > > aleatoire a generer change, je ne sait pas comment faire pour
> qu'elle
> > > > > s'adapte toute seule.
> > > > >
> > > > > merci quand meme je continu a chercher
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

1 réponse

Avatar
Lucho
absolument genial ton truc, ou a tu appris le VBA ? je vais commander un
bouquin pour m'y mettre, effectivement ca devient indispensable.

pour continuer comme tu a l'air vraiment tres bon, est il possible de faire
reference a la valeur d'une cellule dans une macro, et faire un tirage au
sort aleatoire comme tu vient de le faire dans ton code precedent d'autant
de nombre que la valeur de la cellule...ex D1 contient le chiffre 8, donc la
macro me sort 8 chiffre selectionne dans la liste.

je sait je suis compliqué je ne pense pas aller jusque la mais je profite de
ton savoir pour faire evoluer le truc au maximum.

encore merci A+

Lucho

"papyty" a écrit dans le message de news:

Salut Lucho
Une petite modif, est ce que ça te vas?
@+
Thierry

Sub zz_TirXX()
Dim DerCel As Long
Application.ScreenUpdating = False
DerCel = Range("a65536").End(xlUp).Row
If DerCel < 2 Then Exit Sub
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Range("B1:B" & DerCel) = "=rand()"
Range("A1:B" & DerCel).Sort Key1:=[B1], Order1:=xlAscending
Range("B1:B" & DerCel) = Range("A1:A" & DerCel).Value
Range("A1:A" & DerCel).Sort Key1:=[A1], Order1:=xlAscending
If Int(DerCel / 2) <> DerCel / 2 Then
Range("B" & DerCel + 1) = Range("B" & DerCel)
Range("B" & DerCel) = "Qualifié"
Range("B" & DerCel).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ColorIndex = 3
Range("B" & DerCel + 1).Select
Selection.Font.ColorIndex = 3
End If
Application.ScreenUpdating = True
Range("B1").Select
End Sub

"Lucho" a écrit dans le message de news:
3f50dcec$0$20943$
en fait avec ton petit prog je fait un tirage au sort d'une liste
d'inscrit,

si ce nombre est impair, il me faut alors un deuxieme tirage au sort qui
selectionne dans ma liste qui vient d'etre tire un numero seulement que
je


fait passer au tour suivant directement...j'espere que tu me comprend

mais il n'y a peu etre pas besoin de macro pour ca mais je n'arrive pas
a


mettre la main sur une fonction me le permettant.

merci encore A+

Lucho

"papyty" a écrit dans le message de news:

De rien Lucho c'est un plaisir
Ce mettre au VBA c'est une super idée on ne peut plus s'en passer
Pour ton 2eme souci je n'ai pas bien saisi
tu veux qu'une cellule soit selectionné au hasard dans une des
colonnes?



J'attend tes précisions
@+
Thierry


"Lucho" a écrit dans le message de news:
3f4f7eca$0$20953$
genial merci pour cette macro, c'est exactement ce que je cherche,
par




contre 2eme souci.0

comment faire pour selectionner un numero au hazard dans une liste
tiré



au
sort grace a ton petit prog.

encore merci decidement il faut que je me mette au VBA

salut


"papyty" a écrit dans le message de news:
#
Salut Lucho

Essai ça

Sub zz_Tir50()
Dim DerCel As Long
Application.ScreenUpdating = False
DerCel = Range("a65536").End(xlUp).Row
If DerCel < 2 Then Exit Sub
Columns("B:B").Select
Selection.ClearContents
Range("B1:B" & DerCel) = "=rand()"
Range("A1:B" & DerCel).Sort Key1:=[B1], Order1:=xlAscending
Range("B1:B" & DerCel) = Range("A1:A" & DerCel).Value
Range("A1:A" & DerCel).Sort Key1:=[A1], Order1:=xlAscending
Application.ScreenUpdating = True
Range("A1").Select
End Sub

@+


"Lucho" a écrit dans le message de news:
3f4cae18$0$1797$
non ce n'est pas ce que je cherche, la fonction alea genere 1
numero





aleatoire, qui plus est ne figure pas dans un liste, je cherche
une





fonction
capable de generer une suite de nombre aleatoire a partir d'une
liste




de
nombre existant...

j'ai utilise cette macro pour faire ca

Sub zz_Tir50()
Application.ScreenUpdating = False
[B1:B86] = "=rand()"
[A1:B86].Sort Key1:=[B1], Order1:=xlAscending
[B1:B86] = [A1:A86].Value
[A1:A86].Sort Key1:=[A1], Order1:=xlAscending
End Sub


mais je suis oblige de la reprogramer a chaque fois si le nombre
de





chiffre
aleatoire a generer change, je ne sait pas comment faire pour
qu'elle




s'adapte toute seule.

merci quand meme je continu a chercher