XL pour MAC Répartir des personnes dans des équipes par roulement sur 5 jours

christellep65

XLDnaute Nouveau
J'ai une problématique à résoudre pour la périodes d'accueil dans le collectif où je vis
Il y a quatre créneaux cuisine/vaisselle par jour sur 5 jours (lundi, mardi, mercredi, jeudi, vendredi) soit au total 20 équipes et j'ai 5 personnes qui doivent se répartir par roulement sur ces 20 équipes sur les 5 jours (en sachant qu'il y a possibilité d'une demi journée off) Et dans chaque équipe 2 personnes sont présentes. Comment puis je répartir les 5 personnes de façon équitable dans les 20 équipes. Merci d'avance
 

vgendron

XLDnaute Barbatruc
Bonjour,

Je vous suggère d'effectuer une petite recherche dans la zone "Téléchargements" du forum
cette problèmatique de répartition par équipe, tournois, compétition... a été traitée à maintes reprises.. vous devriez trouver quelque chose qui peut vous convenir, ou du moins s'approcher de votre besoin.. resterait plus qu'à adapter..
 

christellep65

XLDnaute Nouveau
Bonjour,

Je vous suggère d'effectuer une petite recherche dans la zone "Téléchargements" du forum
cette problèmatique de répartition par équipe, tournois, compétition... a été traitée à maintes reprises.. vous devriez trouver quelque chose qui peut vous convenir, ou du moins s'approcher de votre besoin.. resterait plus qu'à adapter..
Merci j'ai fait un petit tour et je n'ai rien trouvé en fait. Je ne connais pas les outils Excel présentés et je ne sais pas comment me les approprier. Merci d'avoir pris le temps de me répondre
 

halecs93

XLDnaute Impliqué
J'ai une problématique à résoudre pour la périodes d'accueil dans le collectif où je vis
Il y a quatre créneaux cuisine/vaisselle par jour sur 5 jours (lundi, mardi, mercredi, jeudi, vendredi) soit au total 20 équipes et j'ai 5 personnes qui doivent se répartir par roulement sur ces 20 équipes sur les 5 jours (en sachant qu'il y a possibilité d'une demi journée off) Et dans chaque équipe 2 personnes sont présentes. Comment puis je répartir les 5 personnes de façon équitable dans les 20 équipes. Merci d'avance
Bonjour,

Peut-être en vous inspirant de ce fil :

 

job75

XLDnaute Barbatruc
Bonjour christellep65, le forum,

Avec cette macro pas besoin de Dictionary ni de collection :
VB:
Sub Tirages()
Dim t, ntirage&, ecart1 As Range, ecart2 As Range, a, c As Range, i&, n&, ub%, nn&, x, r1%, r2%
t = Timer
ntirage = 10000
Set ecart1 = [C8]
Set ecart2 = [D8]
Application.ScreenUpdating = False
'---tirages des jours de repos---
ReDim a(1 To 10)
For Each c In [Tableau2].Rows(0).Cells
    i = i + 1: a(i) = c & " " & "AM"
    i = i + 1: a(i) = c & " " & "PM"
Next c
For i = 1 To ntirage
    n = n + 1
    For Each c In [Tableau1].Columns(2).Cells
        c = a(1 + Int(10 * Rnd))
    Next c
    If ecart1 = 0 Then Exit For
Next i
'---tirages des créneaux---
a = [Tableau1].Resize(, 2)
ub = UBound(a)
For i = 1 To ntirage
    nn = nn + 1
    For Each c In [Tableau2]
        x = c(2 - c.Row, 1) & " " & c(1, 2 - c.Column).MergeArea(1)
        Do
            r1 = 1 + Int(ub * Rnd)
        Loop While a(r1, 2) = x
        Do
            r2 = 1 + Int(ub * Rnd)
        Loop While r1 = r2 Or a(r2, 2) = x
        c = a(r1, 1) & vbLf & a(r2, 1)
    Next c
    If ecart2 <= 1 Then Exit For
Next i
Application.ScreenUpdating = True
MsgBox n & " tirages pour les jours de repos" & vbLf & nn & " tirages pour les créneaux" & vbLf & vbLf & "Le tout en " & Format(Timer - t, "0.00") & " seconde(s)"
End Sub
A+
 

Pièces jointes

  • Répartition.xlsm
    25.6 KB · Affichages: 3
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba