Instruction incorrecte à l'extérieure d'un bloc de type

randall Messages postés 531 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Débutante en VBA je voudrais dans une feuille excel à l'aide de l'instruction select case (car j'ai beaucoup de case à écrire,j'ai simplifié le nombre pour la compréhension).Je voudrais colorer les cellules suivant leur valeur. Je n'arrive pas à démarrer la macro ,je butte au départ pour déclarer les variables je suppose . Sur mon exemple j'ai "instruction incorrecte à l'extérieure d'un bloc de type."sur la première ligne
Comment écrire cette macro au départ pour les cellule O19 à O23

Sub exemplecouleur()

range("O19:O23") As String
x = range("O19:O23").Value
Select Case x
Case Is < 100
Interior.ColorIndex = 3
Case Is = 100
Interior.ColorIndex = 5
Case Is > 100
Interior.ColorIndex = 8

End Select

End Sub

Merci pour la réponse

Configuration: Windows / Chrome 73.0.3683.86

2 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     
    Bonjour

    Teste ceci

    Sub exemplecouleur()
      Dim x%
        For x = 19 To 23 'de la ligne 19 à 23
          Select Case Cells(x, 15)
          Case Is > 100
            Cells(x, 15).Interior.ColorIndex = 3
          Case Is = 100
            Cells(x, 15).Interior.ColorIndex = 5
          Case Is < 100
            Cells(x, 15).Interior.ColorIndex = 8
          End Select
        Next x
    End Sub
    0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    Essaies :
    Option Explicit
    Sub ExempleCouleur()
    Dim rng As Range
    Dim cel As Range
      Set rng = Worksheets("Feuil1").Range("O19:O23")  'adapter le nom de la feuille
      For Each cel In rng.Cells
        If VarType(cel.Value) = vbDouble Then
          Select Case cel.Value
            Case Is < 100
              cel.Interior.ColorIndex = 3
            Case Is = 100
              cel.Interior.ColorIndex = 5
            Case Is > 100
              cel.Interior.ColorIndex = 8
          End Select
        Else
          cel.Interior.ColorIndex = xlColorIndexNone
        End If
      Next cel
    End Sub


    0