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

ahmed -  
ahmed012 Messages postés 3 Statut Membre -
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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Y a quoi dans ceci:
    Range(Cells(3, i))
    0
    1. ahmed
       
      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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Tout à fait Thierry, mais ça ne répond pas à la question
      0
    3. ahmed
       
      Re,
      pourriez m'expliquer votre question ?
      0
    4. ahmed012 Messages postés 3 Statut Membre
       
      Voici ma base :
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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