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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

LuanaDDC

XLDnaute Junior
Bonjour !

J'espère que vous allez bien 😀

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

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
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
248
Réponses
8
Affichages
348
Réponses
4
Affichages
505
Réponses
2
Affichages
2 K
  • Question Question
Réponses
10
Affichages
516
Réponses
2
Affichages
920
Réponses
21
Affichages
2 K
Réponses
4
Affichages
321
Réponses
1
Affichages
758
Retour