IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Appréciations des notes de matières de 0 à 50 [AC-2013]


Sujet :

Access

  1. #1
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut Appréciations des notes de matières de 0 à 50
    Bonsoir membres du forum,
    heureux de vous retrouver !
    Bon à savoir:

    Nom : LES CRITERES DE NOTATION_Page_1.jpg
Affichages : 124
Taille : 283,8 Ko
    Nom : LES CRITERES DE NOTATION_Page_2.jpg
Affichages : 116
Taille : 266,4 Ko
    Nom : LES CRITERES DE NOTATION_Page_3.jpg
Affichages : 106
Taille : 139,6 Ko

    J'ai créé deux zones de textes "AppreciationMatiere" notée de 0 à 10/10 et "AppreciationMatiere2ndaire"
    notée de 0 à 50. Les deux zones sont invisibles au départ.
    Chaque zone d'appréciation s'affiche selon les notes des différents niveaux de classes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    If Me.NiveauEvaluationFr = "Maternelle" Or Me.NiveauEvaluationFr = _
            "CP1 A" Or Me.NiveauEvaluationFr = "CP2 A" Or Me.NiveauEvaluationFr = "CE1 A" Then
            Me.AppreciationMatiere.Visible = True
     
        ElseIf Me.NiveauEvaluationFr = "CE2 A" Or Me.NiveauEvaluationFr = _
            "CM1 A" Or Me.NiveauEvaluationFr = "CM2 A" Then
            Me.AppreciationMatiere2ndaire.Visible = True
    End If
     
    End Sub
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
    Public Function AppreciationMoyenne(Moy As Single) As String
    'Appreciation utilisée pour une note et une moyenne
     
    If Not IsNull(Moy) Then
     If Moy = 10 Then
       AppreciationMoyenne = "Excellent"
     Else
        If Moy >= 9 Then
          AppreciationMoyenne = "Très bien"
        Else
           If Moy >= 8 Then
            AppreciationMoyenne = "Bien"
           Else
              If Moy >= 6 Then
                AppreciationMoyenne = "Assez bien"
              Else
                 If Moy >= 5 Then
                  AppreciationMoyenne = "Passable"
                 Else
                  If Moy >= 4.25 Then
                   AppreciationMoyenne = "Insuffisant"
                  Else
                     If Moy >= 3.5 Then
                      AppreciationMoyenne = "Faible"
                     Else
                        If Moy >= 0 Then
                        AppreciationMoyenne = "Très Faible"
                        End If
                     End If
                  End If
                 End If
              End If
           End If
        End If
     End If
    End If
    End Function
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    'Appreciation utilisée pour une note et une moyenne
     
    If Not IsNull(Moy) Then
     If Moy >= 20 Then
       AppreciationMoyenne_2ndaire = "Très Excellent"
     Else
        If Moy >= 18 Then
          AppreciationMoyenne_2ndaire = "Excellent"
        Else
           If Moy >= 16 Then
            AppreciationMoyenne_2ndaire = "Très Bien"
           Else
              If Moy >= 14 Then
                AppreciationMoyenne_2ndaire = "Bien"
              Else
                 If Moy >= 12 Then
                  AppreciationMoyenne_2ndaire = "Assez bien"
                 Else
                  If Moy >= 10 Then
                   AppreciationMoyenne_2ndaire = "Passable"
                Else
                    If Moy <= 9.99 Then
                      AppreciationMoyenne_2ndaire = "Insuffisant"
                  Else
                    If Moy >= 8.5 Then
                      AppreciationMoyenne_2ndaire = "Insuffisant"
                    Else
                     If Moy >= 7 Then
                      AppreciationMoyenne_2ndaire = "Très Insuffisant"
                     Else
                     If Moy >= 4 Then
                      AppreciationMoyenne_2ndaire = "Faible"
                     Else
                        If Moy >= 0 Then
                        AppreciationMoyenne_2ndaire = "Très Faible"
                        End If
                     End If
                   End If
                 End If
                End If
              End If
           End If
        End If
     End If
    End If
    End If
    End If
    End Function
    Nom : AppreciationNotesMatieres 1.jpg
Affichages : 106
Taille : 70,0 Ko
    Nom : AppreciationNotesMatieres 2.jpg
Affichages : 104
Taille : 79,1 Ko
    Nom : AppreciationNotesMatieres 3.jpg
Affichages : 102
Taille : 70,7 Ko

    Quelle méthode employer afin de gérer les deux appréciations dans une seule zone de texte ?
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  2. #2
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 309
    Par défaut
    Salut
    Par certain d'avoir compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =AppreciationMoyenne([NoteFr]) & " - " & AppreciationMoyenne_2ndaire([NoteFr])
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP :weird:
    Merci de cliquer sur :plusser: si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur :resolu:

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 427
    Par défaut
    Bonjour morobaboumar, ce n'est pas une question que tu as posée donc n'y vois q'une suggestion :-), mais pour ta gestion des appréciations, je te recommande de les mettre dans une table du style.
    TableAppreciaton
    IndiceAppreciation (entier, valeur 1 ou 2)
    SeuilMin (Reél)
    SeuilMax (Réel)
    Appreciation

    Après tu n'as plus qu'a chercher l'appréciation qui encadre la note.
    Un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select * from [TableAppreciaton]
    where [TableAppreciaton].[IndiceAppreciation] = TonIndice
    and TaNote between [TableAppreciaton].[SeuilMin] and [TableAppreciaton].[SeuilMax]
    Ça permet de facilement ajouter des "tranches" et de changer le texte associé sans avoir à toucher au code VBA.

    Si tu ne veux pas utiliser la table, pour éviter la cascade de if tu peux utiliser select case ... case ... end select.

    un truc du genre

    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
    21
    22
    23
    If Not IsNull(Moy) Then
     select case Moy
       case 10
          AppreciationMoyenne = "Excellent"
       case > = 9
          AppreciationMoyenne = "Très bien"
       Case >= 8 
          AppreciationMoyenne = "Bien"
       Case >= 6
          AppreciationMoyenne = "Assez bien"
       Case  >= 5
          AppreciationMoyenne = "Passable"
       Case  >= 4.25
          AppreciationMoyenne = "Insuffisant"
       Case  >= 3.5
          AppreciationMoyenne = "Faible"
                     Else
       Case >= 0
          AppreciationMoyenne = "Très Faible"
       Case else
          Error(5) 'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End select
    End If
    Ça fait une syntaxe plus compacte et plus facile à lire.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Salut
    Par certain d'avoir compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =AppreciationMoyenne([NoteFr]) & " - " & AppreciationMoyenne_2ndaire([NoteFr])
    Bonjoir hyperion13,

    Nom : AppreciationNotesMatieres 4.jpg
Affichages : 70
Taille : 112,5 Ko

    Merci pour votre réponse. En applicant votre suggestion, elle renvoie les deux appréciations en même temps.
    Le but recherché est qu'à partir de la maternelle en ce1 les matières sont notées 10/10. Donc les appréciations
    ramenées sont gerées par la fonction AppreciationMoyenne.
    Par contre celles des ce2,cm1 et cm2 sont notées 20/20 et 50/50 sont gerées par la fonction AppreciationMoyenne_2ndaire .

    NB: Le temps de tester la proposition de marot_r.
    A+
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  5. #5
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Si tu ne veux pas utiliser la table, pour éviter la cascade de if tu peux utiliser select case ... case ... end select.

    un truc du genre

    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
    21
    22
    23
    If Not IsNull(Moy) Then
     select case Moy
       case 10
          AppreciationMoyenne = "Excellent"
       case > = 9
          AppreciationMoyenne = "Très bien"
       Case >= 8 
          AppreciationMoyenne = "Bien"
       Case >= 6
          AppreciationMoyenne = "Assez bien"
       Case  >= 5
          AppreciationMoyenne = "Passable"
       Case  >= 4.25
          AppreciationMoyenne = "Insuffisant"
       Case  >= 3.5
          AppreciationMoyenne = "Faible"
                     Else
       Case >= 0
          AppreciationMoyenne = "Très Faible"
       Case else
          Error(5) 'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End select
    End If
    Ça fait une syntaxe plus compacte et plus facile à lire.

    A+
    Bonsoir marot_r,
    Code gerant les notes de matières de la maternelle en ce1 et le 2e code gerant les notes des matières des Ce2 en Cm2 et Secondaire:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Public Function AppreciationMoyenne(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 10
          AppreciationMoyenne = "Excellent"
       Case Is >= 9
          AppreciationMoyenne = "Très bien"
       Case Is >= 8
          AppreciationMoyenne = "Bien"
       Case Is >= 6
          AppreciationMoyenne = "Assez bien"
       Case Is >= 5
          AppreciationMoyenne = "Passable"
       Case Is >= 4.25
          AppreciationMoyenne = "Insuffisant"
       Case Is >= 3.5
          AppreciationMoyenne = "Faible"
                     'Else
       Case Is >= 0
          AppreciationMoyenne = "Très Faible"
       Case Else
          Error (5) 'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
     
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 20
          AppreciationMoyenne_2ndaire = "Très Excellent"
       Case Is >= 20
          AppreciationMoyenne_2ndaire = "Excellent"
       Case Is >= 18
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 16
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 14
          AppreciationMoyenne_2ndaire = "Bien"
       Case Is >= 12
          AppreciationMoyenne_2ndaire = "Assez bien"
       Case Is >= 10
          AppreciationMoyenne_2ndaire = "Passable"
        Case Is <= 9.99
          AppreciationMoyenne_2ndaire = "Insuffisant"
       Case Is >= 7
          AppreciationMoyenne_2ndaire = "Très Insuffisant"
       Case Is >= 0
          AppreciationMoyenne_2ndaire = "Très Faible"
       Case Else
          Error (5) 'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
    Pièce Jointe https://www.dropbox.com/scl/fi/5dunf...=wsuwhk5j&dl=0
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 427
    Par défaut
    Salut morobabouma.

    Pour ta question de sélection, il faut probablement faire quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =iif([Niveau]="mat" or [Niveau]="cp" or [Niveau]="ce1", AppreciationMoyenne([Moy]), AppreciationMoyenne_2ndaire([moy]))
    À adapter à ta réalité et il est possible qu'il faille remplacer les virgules ( , ) par des point-virgules ( ; )).

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut
    Bonsoir marot_r,
    bonsoir hyperion13,
    Finalement, voici les codes qui marchent:

    Nom : AppreciationNotesMatieres 10.jpg
Affichages : 78
Taille : 146,7 Ko
    Nom : AppreciationNotesMatieres 11.jpg
Affichages : 77
Taille : 116,2 Ko

    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    RameneAppreciationFr
    'Me.AppreciationMatiere = IIf([NiveauEvaluationFr] = "Maternelle" Or [NiveauEvaluationFr] = "CP1 A" Or [NiveauEvaluationFr] = "CE1 A", AppreciationMoyenne([NoteFr]), AppreciationMoyenne_2ndaire([NoteFr]))
     
    End Sub
     
    Sub RameneAppreciationFr()
     
    If Me.NiveauEvaluationFr = "Maternelle" Or Me.NiveauEvaluationFr = _
            "CP1 A" Or Me.NiveauEvaluationFr = "CP2 A" Or Me.NiveauEvaluationFr = "CE1 A" Then
            Me.AppreciationMatiere.Visible = True
     
        ElseIf Me.NiveauEvaluationFr = "CE2 A" Or Me.NiveauEvaluationFr = _
            "CM1 A" Or Me.NiveauEvaluationFr = "CM2 A" Then
            Me.AppreciationMatiere2ndaire.Visible = True
    End If
    End Sub
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Public Function AppreciationMoyenne(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 10
          AppreciationMoyenne = "Excellent"
       Case Is >= 9
          AppreciationMoyenne = "Très bien"
       Case Is >= 8
          AppreciationMoyenne = "Bien"
       Case Is >= 6
          AppreciationMoyenne = "Assez bien"
       Case Is >= 5
          AppreciationMoyenne = "Passable"
       Case Is >= 4.25
          AppreciationMoyenne = "Insuffisant"
       Case Is >= 3.5
          AppreciationMoyenne = "Faible"
                     'Else
       Case Is >= 0
          AppreciationMoyenne = "Très Faible"
       Case Else
          Error (5)  'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
     
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 20
          AppreciationMoyenne_2ndaire = "Très Excellent"
       Case Is >= 20
          AppreciationMoyenne_2ndaire = "Excellent"
       Case Is >= 18
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 16
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 14
          AppreciationMoyenne_2ndaire = "Bien"
       Case Is >= 12
          AppreciationMoyenne_2ndaire = "Assez bien"
       Case Is >= 10
          AppreciationMoyenne_2ndaire = "Passable"
        Case Is <= 9.99
          AppreciationMoyenne_2ndaire = "Insuffisant"
       Case Is >= 7
          AppreciationMoyenne_2ndaire = "Très Insuffisant"
       Case Is >= 0
          AppreciationMoyenne_2ndaire = "Très Faible"
       Case Else
          Error (5)  'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
    Je n'ai pas réussi à adapter le code suivant à mon objectif.
    Messages d'erreurs:

    Nom : AppreciationNotesMatieres 5.jpg
Affichages : 77
Taille : 231,4 Ko
    Nom : AppreciationNotesMatieres 6.jpg
Affichages : 77
Taille : 127,6 Ko
    Nom : AppreciationNotesMatieres 7.jpg
Affichages : 78
Taille : 80,7 Ko
    Nom : AppreciationNotesMatieres 8.jpg
Affichages : 77
Taille : 179,0 Ko
    Nom : AppreciationNotesMatieres 9.jpg
Affichages : 77
Taille : 97,9 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Me.AppreciationMatiere = IIf([NiveauEvaluationFr] = "Maternelle" Or [NiveauEvaluationFr] = "CP1 A" Or [NiveauEvaluationFr] = "CE1 A", AppreciationMoyenne([NoteFr]), AppreciationMoyenne_2ndaire([NoteFr]))
    Pièce jointe https://www.dropbox.com/scl/fi/5dunf...=o65suw9q&dl=0
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  8. #8
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut Remarque / Nombre de Points
    Citation Envoyé par morobaboumar Voir le message
    Bonsoir marot_r,
    bonsoir hyperion13,
    Finalement, voici les codes qui marchent:

    Nom : AppreciationNotesMatieres 10.jpg
Affichages : 78
Taille : 146,7 Ko
    Nom : AppreciationNotesMatieres 11.jpg
Affichages : 77
Taille : 116,2 Ko

    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
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    RameneAppreciationFr
    'Me.AppreciationMatiere = IIf([NiveauEvaluationFr] = "Maternelle" Or [NiveauEvaluationFr] = "CP1 A" Or [NiveauEvaluationFr] = "CE1 A", AppreciationMoyenne([NoteFr]), AppreciationMoyenne_2ndaire([NoteFr]))
     
    End Sub
     
    Sub RameneAppreciationFr()
     
    If Me.NiveauEvaluationFr = "Maternelle" Or Me.NiveauEvaluationFr = _
            "CP1 A" Or Me.NiveauEvaluationFr = "CP2 A" Or Me.NiveauEvaluationFr = "CE1 A" Then
            Me.AppreciationMatiere.Visible = True
     
        ElseIf Me.NiveauEvaluationFr = "CE2 A" Or Me.NiveauEvaluationFr = _
            "CM1 A" Or Me.NiveauEvaluationFr = "CM2 A" Then
            Me.AppreciationMatiere2ndaire.Visible = True
    End If
    End Sub
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    Public Function AppreciationMoyenne(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 10
          AppreciationMoyenne = "Excellent"
       Case Is >= 9
          AppreciationMoyenne = "Très bien"
       Case Is >= 8
          AppreciationMoyenne = "Bien"
       Case Is >= 6
          AppreciationMoyenne = "Assez bien"
       Case Is >= 5
          AppreciationMoyenne = "Passable"
       Case Is >= 4.25
          AppreciationMoyenne = "Insuffisant"
       Case Is >= 3.5
          AppreciationMoyenne = "Faible"
                     'Else
       Case Is >= 0
          AppreciationMoyenne = "Très Faible"
       Case Else
          Error (5)  'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
     
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 20
          AppreciationMoyenne_2ndaire = "Très Excellent"
       Case Is >= 20
          AppreciationMoyenne_2ndaire = "Excellent"
       Case Is >= 18
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 16
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 14
          AppreciationMoyenne_2ndaire = "Bien"
       Case Is >= 12
          AppreciationMoyenne_2ndaire = "Assez bien"
       Case Is >= 10
          AppreciationMoyenne_2ndaire = "Passable"
        Case Is <= 9.99
          AppreciationMoyenne_2ndaire = "Insuffisant"
       Case Is >= 7
          AppreciationMoyenne_2ndaire = "Très Insuffisant"
       Case Is >= 0
          AppreciationMoyenne_2ndaire = "Très Faible"
       Case Else
          Error (5)  'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
    Je n'ai pas réussi à adapter le code suivant à mon objectif.
    Messages d'erreurs:

    Nom : AppreciationNotesMatieres 5.jpg
Affichages : 77
Taille : 231,4 Ko
    Nom : AppreciationNotesMatieres 6.jpg
Affichages : 77
Taille : 127,6 Ko
    Nom : AppreciationNotesMatieres 7.jpg
Affichages : 78
Taille : 80,7 Ko
    Nom : AppreciationNotesMatieres 8.jpg
Affichages : 77
Taille : 179,0 Ko
    Nom : AppreciationNotesMatieres 9.jpg
Affichages : 77
Taille : 97,9 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Me.AppreciationMatiere = IIf([NiveauEvaluationFr] = "Maternelle" Or [NiveauEvaluationFr] = "CP1 A" Or [NiveauEvaluationFr] = "CE1 A", AppreciationMoyenne([NoteFr]), AppreciationMoyenne_2ndaire([NoteFr]))
    Pièce jointe https://www.dropbox.com/scl/fi/5dunf...=o65suw9q&dl=0
    Cordialement.
    Remarque: Je constate que mes points ne progressent pas: Nom : MesPointsDevelop.jpg
Affichages : 59
Taille : 59,6 Ko
    Pourrais je en savoir plus ?
    Merci Infiniment à la famile Developpez.Net
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 427
    Par défaut
    Bonjour morobaboumar
    Ma solution était à mettre comme valeur dans le champ qui affiche le résultat, c'est ce qu'on appelle un champ calculé.
    Access va afficher la valeur automatiquement pour chaque enregistrement.
    Pas à mettre dans le VBA.
    Désolé j'aurai du être plus clair.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 309
    Par défaut
    Salut,
    Très compliqué de naviguer dans votre base de données.

    Il serait bon d'indiquer quel objet (tbl, qry, form, report, autre) pose problème.

    Alors :
    - BULLETIN_FRANCAIS est un état principal qui contient l'objet NiveauEvaluationFr
    - SE_NOTES_CLASSES_FRANCAIS est un sous-état de BULLETIN_FRANCAIS (zone détail)

    Donc et à mon avis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    If Me.Parent.NiveauEvaluationFr = "Maternelle" Or Me.Parent.NiveauEvaluationFr = _
            "CP1 A" Or Me.Parent.NiveauEvaluationFr = "CP2 A" Or Me.Parent.NiveauEvaluationFr = "CE1 A" Then
            Me.AppreciationMatiere.Visible = True
     
        ElseIf Me.Parent.NiveauEvaluationFr = "CE2 A" Or Me.Parent.NiveauEvaluationFr = _
            "CM1 A" Or Me.Parent.NiveauEvaluationFr = "CM2 A" Then
            'Me.AppreciationMatiere2ndaire.Visible = True AppreciationMatiere2ndaire n'est pas présent dans SE_NOTES_CLASSES_FRANCAIS :weird:
    End If
     
    End Sub
    Autre point
    Votre code Post#1 L23 à L26 et L29 à L35
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    'Appreciation utilisée pour une note et une moyenne
     
    If Not IsNull(Moy) Then
     If Moy >= 20 Then
       AppreciationMoyenne_2ndaire = "Très Excellent"
     Else
        If Moy >= 18 Then
          AppreciationMoyenne_2ndaire = "Excellent"
        Else
           If Moy >= 16 Then
            AppreciationMoyenne_2ndaire = "Très Bien"
           Else
              If Moy >= 14 Then
                AppreciationMoyenne_2ndaire = "Bien"
              Else
                 If Moy >= 12 Then
                  AppreciationMoyenne_2ndaire = "Assez bien"
                 Else
                  If Moy >= 10 Then
                   AppreciationMoyenne_2ndaire = "Passable"
                Else
                    If Moy <= 9.99 Then
                      AppreciationMoyenne_2ndaire = "Insuffisant"
                  Else
                    If Moy >= 8.5 Then
                      AppreciationMoyenne_2ndaire = "Insuffisant"
                    Else
                     If Moy >= 7 Then
                      AppreciationMoyenne_2ndaire = "Très Insuffisant"
                     Else
                     If Moy >= 4 Then
                      AppreciationMoyenne_2ndaire = "Faible"
                     Else
                        If Moy >= 0 Then
                        AppreciationMoyenne_2ndaire = "Très Faible"
                        End If
                     End If
                   End If
                 End If
                End If
              End If
           End If
        End If
     End If
    End If
    End If
    End If
    End Function
    Votre code Post#7 L18 et L20 à L22
    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
    21
    22
    23
    24
    25
    26
    27
    28
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case 20
          AppreciationMoyenne_2ndaire = "Très Excellent"
       Case Is >= 20
          AppreciationMoyenne_2ndaire = "Excellent"
       Case Is >= 18
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 16
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 14
          AppreciationMoyenne_2ndaire = "Bien"
       Case Is >= 12
          AppreciationMoyenne_2ndaire = "Assez bien"
       Case Is >= 10
          AppreciationMoyenne_2ndaire = "Passable"
        Case Is <= 9.99
          AppreciationMoyenne_2ndaire = "Insuffisant"
       Case Is >= 7
          AppreciationMoyenne_2ndaire = "Très Insuffisant"
       Case Is >= 0
          AppreciationMoyenne_2ndaire = "Très Faible"
       Case Else
          Error (5)  'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
    N'y a-t-il pas un problème de transcription (calcul) ?
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP :weird:
    Merci de cliquer sur :plusser: si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur :resolu:

  11. #11
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Bonjour morobaboumar
    Ma solution était à mettre comme valeur dans le champ qui affiche le résultat, c'est ce qu'on appelle un champ calculé.
    Access va afficher la valeur automatiquement pour chaque enregistrement.
    Pas à mettre dans le VBA.
    Désolé j'aurai du être plus clair.
    Merci de m'avoir éclairé. Je n'y ai pas prêté attention (champ calculé).
    Pourriez vous me donner un exemple de champ calculé ?
    Que le Seigneur vous fasse grâce de sa miséricorde car Seul Lui peut gratifier ce que vous faites la comme bien en
    nous formant. Longue vie pleinne de bonheurs à vous tous et au club developpez.Net et .Com !
    Merci infiniment.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  12. #12
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Salut,
    Très compliqué de naviguer dans votre base de données.

    Il serait bon d'indiquer quel objet (tbl, qry, form, report, autre) pose problème.
    Alors :
    - BULLETIN_FRANCAIS est un état principal qui contient l'objet NiveauEvaluationFr
    - SE_NOTES_CLASSES_FRANCAIS est un sous-état de BULLETIN_FRANCAIS (zone détail)

    Donc et à mon avis :
    N'y a-t-il pas un problème de transcription (calcul) ?
    Voici comment utiliser mon application:

    Nom : ModeUtilisationAppliCompos 1.jpg
Affichages : 40
Taille : 693,4 Ko
    Nom : ModeUtilisationAppliCompos 2.jpg
Affichages : 38
Taille : 573,7 Ko
    Nom : ModeUtilisationAppliCompos 3.jpg
Affichages : 37
Taille : 811,6 Ko
    Nom : ModeUtilisationAppliCompos 4.jpg
Affichages : 37
Taille : 865,8 Ko
    Nom : ModeUtilisationAppliCompos 5.jpg
Affichages : 38
Taille : 898,1 Ko
    Nom : ModeUtilisationAppliCompos 6.jpg
Affichages : 37
Taille : 326,8 Ko
    Nom : ModeUtilisationAppliCompos 7.jpg
Affichages : 38
Taille : 396,2 Ko

    Citation Envoyé par hyperion13 Voir le message
    Donc et à mon avis :
    N'y a-t-il pas un problème de transcription (calcul) ?
    Merci pour la suggestion du lien.
    Pourriez vous m'expliquer "N'y a-t-il pas un problème de transcription (calcul) ?" ?
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

  13. #13
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 309
    Par défaut
    Re
    Sauf erreur, Case Is <= 9.99 est superflue il faut le remplacer par Case Is >= 8.5 et il manque Case Is >= 4
    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
    21
    22
    23
    24
    25
    26
    27
    28
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case Is >= 20
          AppreciationMoyenne_2ndaire = "Très Excellent"
       Case Is >= 18
          AppreciationMoyenne_2ndaire = "Excellent"
       Case Is >= 16
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 14
          AppreciationMoyenne_2ndaire = "Bien"
       Case Is >= 12
          AppreciationMoyenne_2ndaire = "Assez bien"
       Case Is >= 10
          AppreciationMoyenne_2ndaire = "Passable"
       Case Is >= 8.5
          AppreciationMoyenne_2ndaire = "Insuffisant"
       Case Is >= 7
          AppreciationMoyenne_2ndaire = "Très Insuffisant"
       Case Is >= 4
          AppreciationMoyenne_2ndaire = "Faible"
       Case Is >= 0
          AppreciationMoyenne_2ndaire = "Très Faible"
       Case Else
          Error (5) 'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP :weird:
    Merci de cliquer sur :plusser: si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur :resolu:

  14. #14
    Membre expérimenté
    Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 192
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Re
    Sauf erreur, Case Is <= 9.99 est superflue il faut le remplacer par Case Is >= 8.5 et il manque Case Is >= 4
    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
    21
    22
    23
    24
    25
    26
    27
    28
    Public Function AppreciationMoyenne_2ndaire(Moy As Single) As String
    If Not IsNull(Moy) Then
     Select Case Moy
       Case Is >= 20
          AppreciationMoyenne_2ndaire = "Très Excellent"
       Case Is >= 18
          AppreciationMoyenne_2ndaire = "Excellent"
       Case Is >= 16
          AppreciationMoyenne_2ndaire = "Très bien"
       Case Is >= 14
          AppreciationMoyenne_2ndaire = "Bien"
       Case Is >= 12
          AppreciationMoyenne_2ndaire = "Assez bien"
       Case Is >= 10
          AppreciationMoyenne_2ndaire = "Passable"
       Case Is >= 8.5
          AppreciationMoyenne_2ndaire = "Insuffisant"
       Case Is >= 7
          AppreciationMoyenne_2ndaire = "Très Insuffisant"
       Case Is >= 4
          AppreciationMoyenne_2ndaire = "Faible"
       Case Is >= 0
          AppreciationMoyenne_2ndaire = "Très Faible"
       Case Else
          Error (5) 'Ne devrait jamais se produire mais permet d'attraper les erreurs de "découpage"
     End Select
    End If
    End Function
    Merci merci hyperion13,
    Vous m'impressionnez énormement car vous disposez de coups d'oeil.
    Que Le Tout Puissant vous protège et vous accorde Sa Miséricorde.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort
    :faq:

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Numérotation des notes de bas de pages entre parenthèses
    Par moogwai dans le forum Mise en forme
    Réponses: 11
    Dernier message: 26/11/2021, 17h31
  2. Ligne au-dessus des notes de bas de page
    Par Mailf dans le forum Mise en forme
    Réponses: 2
    Dernier message: 07/06/2007, 11h04
  3. Créer des notes mises à jour quotidiennes
    Par dinette dans le forum Access
    Réponses: 12
    Dernier message: 11/12/2006, 11h16
  4. obtenir le top 5 des note en 1 requete?
    Par nixonne dans le forum Requêtes
    Réponses: 6
    Dernier message: 20/12/2005, 15h40
  5. Réponses: 2
    Dernier message: 21/11/2005, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo