Il faut d'abbord qu'il y'ai tous les A dans chaque poule puis tous les B et enfin les C (onglet liste equipe avec le random)Vous ne nous donnez pas la logique du remplissage.
Pourquoi B129 en I7 et B126 en M7 ?
Alors voyez le fichier joint et cette macro dans le code de la feuille "TIRAGE" :Il faut d'abbord qu'il y'ai tous les A dans chaque poule puis tous les B et enfin les C (onglet liste equipe avec le random)
Private Sub Worksheet_Activate()
Dim tablo, e, n&, source$(), ub&, c As Range, P As Range, i%
tablo = Sheets("Feuil1").[C1].CurrentRegion.Offset(1)
For Each e In tablo 'balayage d'abord par colonne puis par ligne
If e <> "" Then
n = n + 1
ReDim Preserve source(1 To n)
source(n) = e
End If
Next e
ub = n
n = 0
Application.ScreenUpdating = False
For Each c In UsedRange
If c = "N° Equipe" Then
c(2).Resize(4, 2) = "" 'RAZ sur 2 colonnes
Set P = Union(IIf(P Is Nothing, c(2), P), c(2))
End If
Next c
For i = 1 To 4
For Each c In P
n = n + 1
If n > ub Then Exit Sub
c(i) = source(n)
Next c, i
End Sub
merci, c'est normal que je peux pas rapatrier le noms des equipes sur l'onglet "tirage au 1er"Dans la feuille "TIRAGE 1ER TOUR" j'ai mis la macro du post #32 pour remplir la feuille.
Private Sub Worksheet_Activate()
Dim tablo, n&, c As Range
tablo = Sheets("RANDOM EQUIPES").[C1].CurrentRegion.Resize(, 2)
Application.ScreenUpdating = False
On Error Resume Next
For Each c In UsedRange
If c = "N° Equipe" Then
c(2).Resize(4, 2) = "" 'RAZ sur 2 colonnes
n = n + 2
c(2) = tablo(n, 1)
c(3) = tablo(n, 2)
c(4) = tablo(n + 1, 1)
c(5) = tablo(n + 1, 2)
End If
Next c
End Sub
merci, juste une remaque, il faudrait que tu fasses des poules complets par les FR si on a plus d'equipes RDMBonjour Crespo,
Voyez le fichier joint et les macros adaptées, celle de la feuille TIRAGE 1ER TOUR :
A+VB:Private Sub Worksheet_Activate() Dim tablo, n&, c As Range tablo = Sheets("RANDOM EQUIPES").[C1].CurrentRegion.Resize(, 2) Application.ScreenUpdating = False On Error Resume Next For Each c In UsedRange If c = "N° Equipe" Then c(2).Resize(4, 2) = "" 'RAZ sur 2 colonnes n = n + 2 c(2) = tablo(n, 1) c(3) = tablo(n, 2) c(4) = tablo(n + 1, 1) c(5) = tablo(n + 1, 2) End If Next c End Sub
Un complément, il faut dabbord que la première soit rdm par rapport aux nombres de.poule, Puis la 3ème ligne et dès que.le.rdm.est.vide, on finit par le FRmerci, juste une remaque, il faudrait que tu fasses des poules complets par les FR si on a plus d'equipes RDM
Regarde la pièce jointe 1169190
Private Sub Worksheet_Activate()
Dim tablo, e, n&, source$(), ub&, c As Range, P As Range
tablo = Sheets("RANDOM EQUIPES").[C1].CurrentRegion.Offset(1)
For Each e In tablo 'balayage d'abord par colonne puis par ligne
If e <> "" Then
n = n + 1
ReDim Preserve source(1 To n)
source(n) = e
End If
Next e
ub = n
n = 0
Application.ScreenUpdating = False
For Each c In UsedRange
If c = "N° Equipe" Then
c(2).Resize(4, 2) = "" 'RAZ sur 2 colonnes
Set P = Union(IIf(P Is Nothing, c(2), P), c(2))
End If
Next c
For Each e In Array(1, 3, 2, 4) 'ordre des lignes
For Each c In P
n = n + 1
If n > ub Then Exit Sub
c(e) = source(n)
Next c, e
End Sub