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

Re tirrage Aléatoire

11 réponses
Avatar
Fredy
Bonjour =E0 tous,
Cette macro ci-jointe, pour tirrage al=E9atoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.

Sub Bouton2_QuandClic()
' Tirage al=E9atoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragep=E9tanque()
Application.ScreenUpdating =3D False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon =3D False
Set sel =3D Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage al=E9atoire
Cells(c.Row, 3) =3D Rnd
Next c
[A:C].Sort key1:=3DRange("C1") ' tri selon al=E9a
[C:C].Clear
For Each c In sel ' v=E9rification
If c.Row Mod 2 <> 0 Then doublon =3D (c.Offset(0, 1) =3D
c=2EOffset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
Application.ScreenUpdating =3D True
End Sub

Je vous remercie d'avance pou toutes r=E9ponses.
Fredy

10 réponses

1 2
Avatar
LSteph
Bonjour,
A priori la colonne B est utilisée pour la vérification des doublons
et prend comme limites ce qui est rempli en colonne A depuis A1

Set sel = Range([A1], [A1].End(xlDown))

habituellement on utilise plutôt le principe en partant du bas,
Set sel = Range([A1], [A65536].End(xlup))

mais peu importe
si actuellement cela fait son oeuvre tu peux rallonger ta liste en A
cela devrait fonctionner aussi.

Cordialement.

lSteph




Bonjour à tous,
Cette macro ci-jointe, pour tirrage aléatoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.

Sub Bouton2_QuandClic()
' Tirage aléatoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragepétanque()
Application.ScreenUpdating = False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon = False
Set sel = Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage aléatoire
Cells(c.Row, 3) = Rnd
Next c
[A:C].Sort key1:=Range("C1") ' tri selon aléa
[C:C].Clear
For Each c In sel ' vérification
If c.Row Mod 2 <> 0 Then doublon = (c.Offset(0, 1) > c.Offset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
Application.ScreenUpdating = True
End Sub

Je vous remercie d'avance pou toutes réponses.
Fredy



Avatar
LSteph
..en fait cela ne doit pas être cela
Peux tu mettre le classeur en http://cjoint.com
que l'on visualise mieux l'histoire de par 4 et sur combien ?

@+

Cordialement.

lSteph


Bonjour à tous,
Cette macro ci-jointe, pour tirrage aléatoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.

Sub Bouton2_QuandClic()
' Tirage aléatoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragepétanque()
Application.ScreenUpdating = False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon = False
Set sel = Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage aléatoire
Cells(c.Row, 3) = Rnd
Next c
[A:C].Sort key1:=Range("C1") ' tri selon aléa
[C:C].Clear
For Each c In sel ' vérification
If c.Row Mod 2 <> 0 Then doublon = (c.Offset(0, 1) > c.Offset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
Application.ScreenUpdating = True
End Sub

Je vous remercie d'avance pou toutes réponses.
Fredy



Avatar
Fredy
http://cjoint.com/?ebuoxGl3sh

On 1 avr, 12:55, LSteph wrote:
..en fait cela ne doit pas être cela
Peux tu mettre le classeur enhttp://cjoint.com
que l'on visualise mieux l'histoire de par 4 et sur combien ?

@+

Cordialement.

lSteph




Bonjour à tous,
Cette macro ci-jointe, pour tirrage aléatoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.

Sub Bouton2_QuandClic()
' Tirage aléatoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragepétanque()
Application.ScreenUpdating = False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon = False
Set sel = Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage aléatoire
Cells(c.Row, 3) = Rnd
Next c
[A:C].Sort key1:=Range("C1") ' tri selon aléa
[C:C].Clear
For Each c In sel ' vérification
If c.Row Mod 2 <> 0 Then doublon = (c.Offset(0, 1) =
c.Offset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
Application.ScreenUpdating = True
End Sub

Je vous remercie d'avance pou toutes réponses.
Fredy- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Fredy
On 1 avr, 20:15, "Fredy" wrote:
http://cjoint.com/?ebuoxGl3sh

On 1 avr, 12:55, LSteph wrote:



..en fait cela ne doit pas être cela
Peux tu mettre le classeur enhttp://cjoint.com
que l'on visualise mieux l'histoire de par 4 et sur combien ?

@+

Cordialement.

lSteph



Bonjour à tous,
Cette macro ci-jointe, pour tirrage aléatoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.

Sub Bouton2_QuandClic()
' Tirage aléatoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragepétanque()
Application.ScreenUpdating = False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon = False
Set sel = Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage aléatoire
Cells(c.Row, 3) = Rnd
Next c
[A:C].Sort key1:=Range("C1") ' tri selon aléa
[C:C].Clear
For Each c In sel ' vérification
If c.Row Mod 2 <> 0 Then doublon = (c.Offset(0, 1) =
http://cjoint.com/?ebuzEfQjah




c.Offset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
Application.ScreenUpdating = True
End Sub

Je vous remercie d'avance pou toutes réponses.
Fredy- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
Fredy
On 1 avr, 20:26, "Fredy" wrote:
On 1 avr, 20:15, "Fredy" wrote:



http://cjoint.com/?ebuoxGl3sh

On 1 avr, 12:55, LSteph wrote:

..en fait cela ne doit pas être cela
Peux tu mettre le classeur enhttp://cjoint.com
que l'on visualise mieux l'histoire de par 4 et sur combien ?

@+

Cordialement.

lSteph




Bonjour à tous,
Cette macro ci-jointe, pour tirrage aléatoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.

Sub Bouton2_QuandClic()
' Tirage aléatoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragepétanque()
Application.ScreenUpdating = False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon = False
Set sel = Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage aléatoire
Cells(c.Row, 3) = Rnd
Next c
[A:C].Sort key1:=Range("C1") ' tri selon aléa
[C:C].Clear
For Each c In sel ' vérification
If c.Row Mod 2 <> 0 Then doublon = (c.Offset(0, 1) =




http://cjoint.com/?ebuzEfQjah



c.Offset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
j'ai du mal avec ci-joint je ne suis pas un expert en informatique, je




sais c'est ma faute je n'avais qu'a ?
http://cjoint.com/?ebuFAZUiWQ
Application.ScreenUpdating = True
End Sub

Je vous remercie d'avance pou toutes réponses.
Fredy- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des m essages précédents -

- Afficher le texte des messages précédents -





Avatar
LSteph
???
Bonsoir,

Il y a une page web, pas de fichier...

@+


On 1 avr, 20:26, "Fredy" wrote:
On 1 avr, 20:15, "Fredy" wrote:



http://cjoint.com/?ebuoxGl3sh
On 1 avr, 12:55, LSteph wrote:
..en fait cela ne doit pas être cela
Peux tu mettre le classeur enhttp://cjoint.com
que l'on visualise mieux l'histoire de par 4 et sur combien ?
@+
Cordialement.
lSteph
Bonjour à tous,
Cette macro ci-jointe, pour tirrage aléatoire de Fred, avec une
protection en colonne B par champ de 2 cad B1:B2 etc marche super
bien.
Mais une question me reste sur le clavier, est-il possible,
d'augmenter cette protection en colonne B par champ de 4 cad
B1:B4,B5:B8 et de suite.
Sub Bouton2_QuandClic()
' Tirage aléatoire avec protection en colonne B
' Macro de Fred 13/12/2006.
' Sub tiragepétanque()
Application.ScreenUpdating = False
Dim doublon As Boolean
Dim c As Range, sel As Range
doublon = False
Set sel = Range([A1], [A1].End(xlDown))
Do
For Each c In sel ' tirage aléatoire
Cells(c.Row, 3) = Rnd
Next c
[A:C].Sort key1:=Range("C1") ' tri selon aléa
[C:C].Clear
For Each c In sel ' vérification
If c.Row Mod 2 <> 0 Then doublon = (c.Offset(0, 1) >> http://cjoint.com/?ebuzEfQjah






c.Offset(1, 1))
If doublon Then Exit For
Next c
Loop Until Not doublon
j'ai du mal avec ci-joint je ne suis pas un expert en informatique, je




sais c'est ma faute je n'avais qu'a ?
http://cjoint.com/?ebuFAZUiWQ
Application.ScreenUpdating = True
End Sub
Je vous remercie d'avance pou toutes réponses.
Fredy- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -









Avatar
Fredy
http://cjoint.com/?ebvHICvQxP
Avatar
LSteph
Bonsoir,

Décidément , pas de chance, une fois extrait ton fichier me plante
excel sans arrêt.

@+

lSteph



http://cjoint.com/?ebvHICvQxP




Avatar
LSteph
..sinon, pour le peu que j'en ai vu,
Avec 2 cela devait parfois tourner un peu plus longtemps
puisque dès qu'il sort un doublon le tirage repart du début
mais par poules de 4...
je ne vois pas comment résoudre ce souci:

Si l'on ne doit jamais avoir plus d'un joueur
du même club dans chaque poule de 4.
On sera obligé d'avoir au moins autant de poules
de 4 que le nombre de joueur du club qui en compte
le plus grand nombre.
On ne peut donc plus completer les poules puisque
les joueurs des autres clubs sont tous déjà casés?

Ou serait-ce un effet?

Cordialement.

lSteph




http://cjoint.com/?ebvHICvQxP




Avatar
LSteph
Bonjour,

Pour les poules forfaitaires j'ai choisis l'idée de mettre des xxxx
il y aura des autoqualifiés!

http://cjoint.com/data/ecjnGloJaT.htm


Sub tirage()
Dim lig As Long, col As Byte, i As Byte, j As Long, c As Range

lig = [e2].CurrentRegion.Rows.Count
col = [iv2].End(xlToLeft).Column
Application.ScreenUpdating = False
[a2:b65536].ClearContents
For Each c In [e2].CurrentRegion.Cells
If IsEmpty(c) Then c = "xxxxx"
Next
Randomize
For Each c In Range(Cells(lig + 1, 5), Cells(lig + 1, col))
c = Rnd
Next
Range("e1", Columns(col)).Sort _
Key1:=Range(Cells(lig + 1, 5), Cells(lig + 1, col)), _
Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlLeftToRight
Range(Cells(lig + 1, 5), Cells(lig + 1, col)).ClearContents

For i = 5 To col
For Each c In Range(Cells(2, 4), Cells(lig, 4)).Cells
c = Rnd
Next c
Range(Cells(2, 4), Cells(lig, i)).Sort _
Key1:=Range(Cells(2, 4), Cells(lig, 4)), _
Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:úlse, _
Orientation:=xlTopToBottom
Next i
Range(Cells(2, 4), Cells(lig, 4)).ClearContents

For Each c In Range([e2], Cells(lig, col)).Cells
With [a65536].End(xlUp)(2)
.Cells(1) = c
.Offset(0, 1) = Cells(1, c.Column)
End With
Next c
End Sub

http://cjoint.com/?ebvHICvQxP




1 2