Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Les classes de chaque professeur

  • Initiateur de la discussion Initiateur de la discussion jadawl01
  • Date de début Date de début

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 !

J

jadawl01

Guest
Bonjour
Je me suis inscris sur ce forum, dans l'espoir de trouver de l'aide

Ce sont des données (simplifiés) issus d'un logiciel d'emploi du temps scolaire
Chaque ligne contient: Le jour (colonne A), l'heure(colonne B), le prof(colonne C) et la classe (colonne D)
Ce sont es colonnes C et D qui nous interessent
Je voudrai pour chaque professeur, lister les classes dont il la charge d'enseigner avec le nombre d'occurence, qui vaut le nombre d'heures enseignés à cette classe
Par example, pour le prof "ar1"
ar1: TL01(nombre d'heures), 2B01(nombre d'heures), 1L01(nombre d'heures)...
Je pense que je dois utiliser Vlookup, mais je suis trop debutant pour construire une fonctione avec

Merci
 

Pièces jointes

Dernière modification par un modérateur:
Re : Les classes de chaque professeur

Merci bcp JCGL pour l'aide
Ce n'est pas ce que je voulais au debut, pourtant ce que tu m'a suggeré est fort interessant, et je vais m'en servir,
Je n' y ai pas pensé ! pourtant, j'en ai besion🙂
Mais est-ce que peux afficher ces inforamtions à l'horizontale, comme ça:
ar1: TL01(nombre d'heures), 2B01(nombre d'heures), 1L01(nombre d'heures)... Toatl= ..


En fait, Je veux utiliser cet information au dessous du tableau du profeseur ar1
idem pou rles autres profs
Ce tableau est creé par un macro

---------------------------------- prof ar1 ------------------
---------08:00-----09:00----10:00----11:00----14:00-----15:00-----16:00-- etc...
Lundi---- XXXX------TL01----TL02----XXXX-----XXXX-----XXXX-----XXXX
Mardi---- 1S01-------1S02----XXXX---XXXX-----XXXX----TL03 -----TL03-
Merc-etc...
Jeudi etc...

Je veux y ajouter:
ar1: TL01(04), TL02(04), 1S01(02).... Total=18

Voici le macro qui produit le tavleau ci-dessus

Code:
Option Explicit
Sub TableauDuProfesseur()
'JBeaucaire  (8/24/2009)
Dim LR As Long, i As Long, r As Long, c As Long
Dim str As String, studpre As String, stud As String, t As Double

Sheets("timetable").Activate
LR = Range("A" & Rows.Count).End(xlUp).Row

For i = 2 To LR
'On cree la feuille si necessaire
 str = Cells(i, "C").Text
    If str = "" Then Exit Sub
    If Not Evaluate("ISREF('" & str & "'!A1)") Then
        Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = str
        Call FormatSheet(str)
        Sheets("timetable").Activate
    End If
'on insere les données
'Chechons d'abord la colonne adequate
    'Si le le nom du jour se termine par "2", c'est qu'il est un aprés midi
    If InStr(Cells(i, "A"), "2") > 0 Then
        t = Cells(i, "B") + 0.25
    Else
        t = Cells(i, "B")
    End If
        Select Case t
            Case 0.7 To 0.999:       c = 1   '17:00
            Case 0.66 To 0.6999:     c = 2   '16:00
            Case 0.625 To 0.65:      c = 3   '15:00
            Case 0.58 To 0.62:       c = 4   '14:00
             Case 0.45 To 0.57:       c = 5   '11:00
              Case 0.41 To 0.44:       c = 6   '10:00
             Case 0.375 To 0.4:       c = 7   '9:00
            Case 0.33 To 0.374:      c = 8   '8:00
        End Select
    'Cherchons ensuite la ligne adequate
        Select Case LCase(Left(Cells(i, "A"), 3))
            Case "mon":     r = 3
            Case "tue":     r = 4
            Case "wed":     r = 5
            Case "thu":     r = 6
            Case "fri":     r = 7
            Case "sat":     r = 8
        End Select
    'copions les donnés dans les cellules adequates
        Sheets(str).Cells(r, c).Value = Cells(i, "D")
      
Next i
End Sub


Sub FormatSheet(str As String)
    Range("A1:I1").HorizontalAlignment = xlCenterAcrossSelection
    Range("A1:I1").Font.FontStyle = "Bold"
    Range("A1:I1").Font.ColorIndex = 3
    Range("A1") = str
    Range("A2") = "18~17"
    Range("B2") = "17~16"
    Range("C2") = "16~15"
    Range("D2") = "15~14"
    Range("E2") = "12~11"
    Range("F2") = "11~10"
    Range("G2") = "10~09"
    Range("H2") = "09~08"
    Range("I3") = "Lundi"
    Range("I4") = "Mardi"
    Range("I5") = "Mercredi"
    Range("I6") = "Jeudi"
    Range("I7") = "Vendredi"
    Range("I8") = "Samedi"
    Columns("A:A").EntireColumn.AutoFit
    Range("A2:I8").Borders.LineStyle = xlContinuous
    Range("A2:I8").Font.Name = "tahoma"
     Range("A2:I8").Font.Size = "12"
end sub
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…