Bonjour,
Je réalise actuellement un fichier Excel permettant d'automatiser un planning de cours pour une association sportive.
J'ai sur une même feuille un tableau indiquant les professeurs en activités et leurs disponibilités sur 13 créneaux horaires pour chacun des jours de la semaine et parallèlement un planning que je cherche à remplir en sélectionnant pour chaque créneau horaire un professeur disponible sur ce créneau.
J'ai donc écrit le code suivant sous VBA :
Mon idée est de tout d'abord vérifier s'il y a bien cours sur le créneau horaire choisi. Si c'est le cas, je regarde dans la colonne 31 qui correspond à mon premier créneau horaire, quelles sont les lignes où l'on a un oui c'est à dire les lignes où le professeur est disponible et répond aux différents critères (niveau...) pour assurer le cours. Ma variable t(j) me permet de récupérer le nom du professeur en colonne 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Sub Macroaffectation() If Cells(76, 3) <> "Pas de cours" Then Dim t(6 To 55) Dim professeur As String j = 0 For i = 6 To 55 If Cells(i, 31) = "Oui" Then j = j + 1 t(j) = Cells(i, 2) End If Next i Randomize professeur = t(Int(j * Rnd) + 1) Cells(76, 3).Value = professeur End If End Sub
Enfin je sélectionne un professeur au hasard que j'affecte au créneau horaire que j'ai initialement choisi.
Lorsque je lance la macro j'ai pour erreur "L'indice n'appartient pas à la sélection" alors même que ma macro est affectée à la feuille sur laquelle j'ai toutes ces données.
Sauriez-vous d'où peut provenir le problème ?
Je vous remercie d'avance pour votre aide et vous souhaite un bon dimanche !
Partager