Macro pour affectation de choix

Bonjour à tous,

Je souhaiterais créer une fonction qui permette à partir d'une liste d'élèves et de choix, d'affecter ces élèves à des listes d'activités en fonction de leurs choix.

Avec pour chaque activité un nombre maximum de places (dans l'exemple 1 place par activité). De sortes que si le choix 1 est complet, on essaie de mettre l'élève dans le choix 2 et si ça ne marche toujours pas, on met un commentaire dans la colonne adaptée.

Pour l'exemple simple présenté ci-dessus, voici le code que j'ai tenté de mettre en place mais qui ne renvoie absolument rien...

Sub affectation2(choix As String, i As Integer)

Dim limite As Integer
Dim compteur As Integer
Dim nom As String
Dim prenom As String

nom = Cells(i, 2)
prenom = Cells(i, 3)

Select Case choix

    Case Is = "Théâtre"
    limite = Cells(1, 20)
    compteur = Cells(1, 21)

    If compteur < limite Then
    Cells(compteur + 2, 19) = nom
    Cells(compteur + 2, 20) = prenom
    compteur = compteur + 1
    Else: Cells(i, 8) = "Non affectable"
    End If

    Case Is = "Cuisine"
    limite = Cells(1, 24)
    compteur = Cells(1, 25)

    If compteur < limite Then
    Cells(compteur + 2, 23) = nom
    Cells(compteur + 2, 24) = prenom
    compteur = compteur + 1
    Else: Cells(i, 8) = "Non affectable"
    End If

End Select

End Sub

Sub affectation(choix_1 As String, choix_2 As String, i As Integer)
Dim limite As Integer
Dim compteur As Integer
Dim nom As String
Dim prenom As String

nom = Cells(i, 2)
prenom = Cells(i, 3)

    Select Case choix

        Case Is = "Basket"
        limite = Cells(1, 12)
        compteur = Cells(1, 13)

        If compteur < limite Then
        Cells(compteur + 2, 11) = nom
        Cells(compteur + 2, 12) = prenom
        compteur = compteur + 1
        Else: affectation2 choix_2, i
        End If

        Case Is = "Foot"
        limite = Cells(1, 16)
        compteur = Cells(1, 17)

        If compteur < limite Then
        Cells(compteur + 2, 15) = nom
        Cells(compteur + 2, 16) = prenom
        compteur = compteur + 1
        Else: affectation2 choix_2, i
        End If

    End Select

End Sub

Sub repartition()

Dim i As Integer
Dim choix_1 As String
Dim choix_2 As String

For i = 2 To 5

choix_1 = Cells(i, 5)
choix_2 = Cells(i, 6)

affectation choix_1, choix_2, i

Next

End Sub

Dans un premier temps, j'ai pensé à une erreur de structure ou de type. Mais je n'en ai pas trouvé.

Puis j'ai relu attentivement le code, et pour moi, j'ai écrit ce que je souhaite que l'ordinateur fasse...

Votre avis ?

Merci d'avance !!!

Salut,

Une fois j’ai voulu faire réparer ma voiture et j’en ai apporté une photo à mon garagiste ; il m’a alors très fortement conseillé de lui amener mon véhicule

Est-ce que l’on peut voir ton fichier ?

Cordialement.

bonjour bonjour Yvouille

oui mais les mediums peuvent travailler sur photo

si le vba mal gaulé plante ; et qu'il n'y a pas 3 000 000 de données a mouliner c'est faisable en formule biensur pour ça .........

cordialement

Rechercher des sujets similaires à "macro affectation choix"