Microsoft 365 VBA - Répartition tâches aléatoirement

LuanaDDC

XLDnaute Junior
Bonjour !

J'espère que vous allez bien :D

Je me permets de vous demander de l'aide concernant un petit projet que je souhaite faire pour ma colocation. Nous sommes 9 (c'est de l'organisation mais c'est super cool !) et je souhaiterai une répartition des tâches du ménage mensuel. Pour ce faire j'ai fait un tableau avec en ligne les tâches et en colonnes les "Prénom". Je souhaiterai qu'aléatoirement quad je clique du le bouton, une croix apparait à l'intérieur d'une tâche. Sachant que pour certaines tâches, il faut être deux. 1 tâche = 1 personne sauf pour les tâches où il faut 2 personnes.

Je ne sais pas si c'est très compliqué à faire.
J'ai commencé une macro mais je pense qu'elle n'est vraiment pas aboutie...

Pouvez-vous m'aider s'il vous plait ?

Merci pour les retours que j'aurais et je vous souhaite une bonne fin d'après midi :)
 

Pièces jointes

  • attribution-taches.xlsm
    17.5 KB · Affichages: 4
Solution
Bonjour Luana,
Une idée parmi d'autres en PJ avec :
VB:
Sub Rotation()
Dim N%, T
Application.ScreenUpdating = False
For N = 1 To 9
    Cells(N, "O") = N: Cells(N, "P") = Rnd
Next N
Range("O:P").Resize(9).Sort key1:=Range("P1"), order1:=xlAscending, Header:=xlNo
T = Range("O1:O9"): Range("O1:P9").ClearContents: Range("B4:G12").ClearContents
Cells(3 + T(1, 1), "B") = "X": Cells(3 + T(2, 1), "B") = "X"
Cells(3 + T(3, 1), "C") = "X"
Cells(3 + T(4, 1), "D") = "X"
Cells(3 + T(5, 1), "E") = "X": Cells(3 + T(6, 1), "E") = "X"
Cells(3 + T(7, 1), "F") = "X": Cells(3 + T(8, 1), "F") = "X"
Cells(3 + T(9, 1), "G") = "X"
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Luana,
Une idée parmi d'autres en PJ avec :
VB:
Sub Rotation()
Dim N%, T
Application.ScreenUpdating = False
For N = 1 To 9
    Cells(N, "O") = N: Cells(N, "P") = Rnd
Next N
Range("O:P").Resize(9).Sort key1:=Range("P1"), order1:=xlAscending, Header:=xlNo
T = Range("O1:O9"): Range("O1:P9").ClearContents: Range("B4:G12").ClearContents
Cells(3 + T(1, 1), "B") = "X": Cells(3 + T(2, 1), "B") = "X"
Cells(3 + T(3, 1), "C") = "X"
Cells(3 + T(4, 1), "D") = "X"
Cells(3 + T(5, 1), "E") = "X": Cells(3 + T(6, 1), "E") = "X"
Cells(3 + T(7, 1), "F") = "X": Cells(3 + T(8, 1), "F") = "X"
Cells(3 + T(9, 1), "G") = "X"
End Sub
 

Pièces jointes

  • attribution-taches.xlsm
    18.9 KB · Affichages: 4

Statistiques des forums

Discussions
315 088
Messages
2 116 089
Membres
112 658
dernier inscrit
doro 76