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

Tirage aléatoire

3 réponses
Avatar
Fredy
Bonjours =E0 tous,
Comme je dois effectuer des tirages de concours Petanque assez souvent
j'aimerai all=E9ger
ce devoir. Sur mpfe je suis remont=E9 dans le temps (2004) et j'ai
trou=E9 un code pour tirage al=E9atoire =E9tabli par lSTEPH, qui
fonctionne bien mais qui n'est plus d'actualit=E9. (La p=E9tanque
=E9volue)
Il s'est bas=E9 sur la colonne A pour faire ce tirage, dans la quelle
se trouve les Nr. Des =E9quipes.
Mais il y a une autre condition =E0 tenir en compte, il faut une autre
colonne B pour mettre les
Nr. d'appartenance club puisque dans ce tirage les =E9quipes d'un
m=EAme club n'ont pas le droit
de se rencontrer. (Ex : =E9quipes Nr 43 du club Nr11 ne peut pas jouer
contre =E9quipes Nr87
du club Nr11)
Je mets la macro de lSTEPH ci-joint, y aurai-t-il quelqu'un qui
pourrait m'aider ?
PS. Je ne suis pas un expert de PC, il faut =EAtre patient avec moi.
Merci =E0 tous

Sub Bouton1_QuandClic()
Application.ScreenUpdating =3D False
For Each c In [a:a].Cells
If c <> "" Then
Cells(c.Row, 2) =3D Rnd
Else
Exit For
End If
Next c
[a:b].Sort key1:=3DRange("b1")
For Each d In [b:b].Cells
If d <> "" Then
d=2EValue =3D ""
Else
Exit For
End If
Next d
Application.ScreenUpdating =3D True

End Sub

3 réponses

Avatar
Fred
bonjour,

Si j'ai bien compris, les équipes qui s'affrontent se suivent l'une après
l'autre après le tirage aléatoire. L'équipe dont le n° est dans la cellule
A1 affontera l'équipe dont le n° est dans A2.
Dans ce cas, voir ci-dessous le programme vba où j'ai ajouté le test qui
élimine le tirage avec des parties inter-club. Cela suppose que le n° de
club doit être renseigné en colonne B

exemple :

col A col B
1 2
2 3
3 2
4 1
5 1
etc.

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

Bonne continuation ...



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

Bonjours à tous,
Comme je dois effectuer des tirages de concours Petanque assez souvent
j'aimerai alléger
ce devoir. Sur mpfe je suis remonté dans le temps (2004) et j'ai
troué un code pour tirage aléatoire établi par lSTEPH, qui
fonctionne bien mais qui n'est plus d'actualité. (La pétanque
évolue)
Il s'est basé sur la colonne A pour faire ce tirage, dans la quelle
se trouve les Nr. Des équipes.
Mais il y a une autre condition à tenir en compte, il faut une autre
colonne B pour mettre les
Nr. d'appartenance club puisque dans ce tirage les équipes d'un
même club n'ont pas le droit
de se rencontrer. (Ex : équipes Nr 43 du club Nr11 ne peut pas jouer
contre équipes Nr87
du club Nr11)
Je mets la macro de lSTEPH ci-joint, y aurai-t-il quelqu'un qui
pourrait m'aider ?
PS. Je ne suis pas un expert de PC, il faut être patient avec moi.
Merci à tous

Sub Bouton1_QuandClic()
Application.ScreenUpdating = False
For Each c In [a:a].Cells
If c <> "" Then
Cells(c.Row, 2) = Rnd
Else
Exit For
End If
Next c
[a:b].Sort key1:=Range("b1")
For Each d In [b:b].Cells
If d <> "" Then
d.Value = ""
Else
Exit For
End If
Next d
Application.ScreenUpdating = True

End Sub
Avatar
Fredy
Salut Fred, c'est exactement ce qu'il fallait.
Apres quelque essaies ça marche à merveille.
Un grand merci à vous,
Salutations Fredy


bonjour,

Si j'ai bien compris, les équipes qui s'affrontent se suivent l'une apr ès
l'autre après le tirage aléatoire. L'équipe dont le n° est dans l a cellule
A1 affontera l'équipe dont le n° est dans A2.
Dans ce cas, voir ci-dessous le programme vba où j'ai ajouté le test qui
élimine le tirage avec des parties inter-club. Cela suppose que le n° de
club doit être renseigné en colonne B

exemple :

col A col B
1 2
2 3
3 2
4 1
5 1
etc.

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

Bonne continuation ...



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

Bonjours à tous,
Comme je dois effectuer des tirages de concours Petanque assez souvent
j'aimerai alléger
ce devoir. Sur mpfe je suis remonté dans le temps (2004) et j'ai
troué un code pour tirage aléatoire établi par lSTEPH, qui
fonctionne bien mais qui n'est plus d'actualité. (La pétanque
évolue)
Il s'est basé sur la colonne A pour faire ce tirage, dans la quelle
se trouve les Nr. Des équipes.
Mais il y a une autre condition à tenir en compte, il faut une autre
colonne B pour mettre les
Nr. d'appartenance club puisque dans ce tirage les équipes d'un
même club n'ont pas le droit
de se rencontrer. (Ex : équipes Nr 43 du club Nr11 ne peut pas jouer
contre équipes Nr87
du club Nr11)
Je mets la macro de lSTEPH ci-joint, y aurai-t-il quelqu'un qui
pourrait m'aider ?
PS. Je ne suis pas un expert de PC, il faut être patient avec moi.
Merci à tous

Sub Bouton1_QuandClic()
Application.ScreenUpdating = False
For Each c In [a:a].Cells
If c <> "" Then
Cells(c.Row, 2) = Rnd
Else
Exit For
End If
Next c
[a:b].Sort key1:=Range("b1")
For Each d In [b:b].Cells
If d <> "" Then
d.Value = ""
Else
Exit For
End If
Next d
Application.ScreenUpdating = True

End Sub


Avatar
filou83470
Fredy a écrit le 13/12/2006 à 09h58 :
Bonjours à tous,
Comme je dois effectuer des tirages de concours Petanque assez souvent
j'aimerai alléger
ce devoir. Sur mpfe je suis remonté dans le temps (2004) et j'ai
troué un code pour tirage aléatoire établi par lSTEPH, qui
fonctionne bien mais qui n'est plus d'actualité. (La pétanque
évolue)
Il s'est basé sur la colonne A pour faire ce tirage, dans la quelle
se trouve les Nr. Des équipes.
Mais il y a une autre condition à tenir en compte, il faut une autre
colonne B pour mettre les
Nr. d'appartenance club puisque dans ce tirage les équipes d'un
même club n'ont pas le droit
de se rencontrer. (Ex : équipes Nr 43 du club Nr11 ne peut pas jouer
contre équipes Nr87
du club Nr11)
Je mets la macro de lSTEPH ci-joint, y aurai-t-il quelqu'un qui
pourrait m'aider ?
PS. Je ne suis pas un expert de PC, il faut être patient avec moi.
Merci à tous

Sub Bouton1_QuandClic()
Application.ScreenUpdating = False
For Each c In [a:a].Cells
If c <> "" Then
Cells(c.Row, 2) = Rnd
Else
Exit For
End If
Next c
[a:b].Sort key1:=Range("b1")
For Each d In [b:b].Cells
If d <> "" Then
d.Value = ""
Else
Exit For
End If
Next d
Application.ScreenUpdating = True

End Sub


bonjour, va voir sur le site http://www.jeuxethasard.com dans la rubrique tirage au sort si cela te plait tu pourras me poster un message je pourrais t'expliquer comment faire le même en vb ou autre langage