Affectation de cellule dans un autre onglet

Bonjour,

J'avais fait il y a quelques années, avec votre aide, un fichier pour répartir mes élèves dans les classes. L'objectif était que les enseignants après avoir cocher dans quelles classe est l'élève pouvaient voir la composition des classes dans un autre onglet.

J'ai récupéré mon ficher mais il ne fonctionne plus quand je l'ouvre.

Pouvez m'aider à réparer mon fichier ?

Bonjour,

j'aimerais savoir si le nombre de 5° peut varier, y-a-t-il d'autres niveaux (6°, 4°, 3°)

Bonjour,

Je doute que le code ait déjà fonctionné tel quel > ou il y a eu des changements dans la feuille "Liste" depuis ...

Un essai > à tester ...

ric

Bonjour,

Merci beaucoup ça fonctionne, sauf pour la dernière classe. Les 5ème F n'apparaissent pas lorsqu'ils sont cochés.

Bonjour,

Effectivement > il faut déplacer la plage de L à Q pour la plage de M à R ...

Sub test()
Dim cel As Range
Dim classe As Range
Dim num As String
Dim eleve As String
Dim coche As Range
Dim lig As Long
   Sheets("Répartition").Range("A3:AZ" & Rows.Count).ClearContents

   lig = Sheets("Liste").Range("A" & Rows.Count).End(xlUp).Row

   For Each cel In Sheets("Liste").Range("A20:A" & lig)

                                     ' Colonne M et Colonne R pour la plage
      Set coche = Sheets("Liste").Range("M" & cel.Row & ":R" & cel.Row).Cells.Find("x")
      If coche Is Nothing Then
         eleve = eleve & vbCr & cel.Value & " " & cel.Offset(0, 1).Value
      Else
         num = Sheets("Liste").Cells(19, coche.Column).Value
         Set classe = Sheets("Répartition").Range("1:1").Cells.Find(num)
         Set classe = classe.Offset(2, 0)
         If classe.Value = "" Then
            classe.Value = cel.Value
            classe.Offset(0, 1).Value = cel.Offset(0, 1).Value
         Else
            Sheets("Répartition").Cells(Rows.Count, classe.Column).End(xlUp).End(xlUp).Offset(1, 0).Value = cel.Value
            classe.End(xlDown).Offset(0, 1).Value = cel.Offset(0, 1).Value
         End If
      End If
   Next cel
   If eleve <> "" Then
      MsgBox ("Les élèves suivants ne sont pas positionnés dans une classe :" & vbCr & eleve)
   End If
End Sub

ric

Rechercher des sujets similaires à "affectation onglet"