Méthode range de l'objet global a echoué

Fermé
ahmed - Modifié le 6 avril 2019 à 02:29
ahmed012 Messages postés 3 Date d'inscription samedi 6 avril 2019 Statut Membre Dernière intervention 7 avril 2019 - 7 avril 2019 à 13:29
Bonjour,
je suis entrain de programmer sur vba en excel
je souhaite attribuer une mention pour chaque moyenne d'un étudiant, mais à chaque fois je reçois l'erreur méthode range de l'objet a échoué
voici le code que j'ai écris :
Sub mention_moyenne()
Dim i As Byte
Dim Plage_moyenne
Dim cellule As Range
Dim feuille As Worksheet
For Each feuille In Worksheets
feuille.Activate
Set Plage_moyenne = Range(Range("h3"), Range("b3").End(xlDown).Offset(0, 6))
Plage_moyenne.Formula = "=average(B3,D3,F3)"
For i = 2 To 8 Step 2
For Each cellule In Range(Range(Cells(3, i)), Range(Cells(3, i)).End(xlDown)).Cells
If cellule.Value = 20 Then
cellule.Offset(0, 1) = "excellent"
ElseIf cellule.Value < 20 And cellule.Value >= 15 Then
cellule.Offset(0, 1).Value = "très bien"
ElseIf cellule.Value < 15 And cellule.Value >= 12 Then
cellule.Offset(0, 1).Value = "bien"
ElseIf cellule.Value < 12 And cellule.Value >= 10 Then
cellule.Offset(0, 1).Value = "passable"
End If
Next cellule
Next i
Next feuille
End Sub


la ligne en jaune :
For Each cellule In Range(Range(Cells(3, i)), Range(Cells(3, i)).End(xlDown)).Cells


je vous en remercie infiniment d'avance


Configuration: Windows / Chrome 73.0.3683.103

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 avril 2019 à 09:16
Bonjour,

Y a quoi dans ceci:
Range(Cells(3, i))
0
bonjour,
d'abord merci
il existe des notes d'une matière et puis je saute 2 autres colonnes et ya une autres notes ...
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 avril 2019 à 14:10
Re,
Tout à fait Thierry, mais ça ne répond pas à la question
0
Re,
pourriez m'expliquer votre question ?
0
ahmed012 Messages postés 3 Date d'inscription samedi 6 avril 2019 Statut Membre Dernière intervention 7 avril 2019
6 avril 2019 à 14:26
Voici ma base :
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 6 avril 2019 à 16:53
Re,

Un fichier irait mieux qu'une image!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

suite:
Devrait aller:
Sub mention_moyenne()
    Dim i As Long
    Dim Plage_moyenne
    Dim cellule As Range
    Dim feuille As Worksheet
    
    For Each feuille In Worksheets
        feuille.Activate
        derlig = Range("b3").End(xlDown)
        Set Plage_moyenne = Range("H3:H" & derlig)
        Plage_moyenne.Formula = "=average(B3,D3,F3)"
        For i = 2 To 8 Step 2
            For Each cellule In Range(Cells(3, i), Cells(derlig, i))
                If cellule.Value = 20 Then
                    cellule.Offset(0, 1) = "excellent"
                ElseIf cellule.Value < 20 And cellule.Value >= 15 Then
                    cellule.Offset(0, 1).Value = "tr?s bien"
                ElseIf cellule.Value < 15 And cellule.Value >= 12 Then
                    cellule.Offset(0, 1).Value = "bien"
                ElseIf cellule.Value < 12 And cellule.Value >= 10 Then
                    cellule.Offset(0, 1).Value = "passable"
                End If
            Next cellule
        Next i
    Next feuille
End Sub
0