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

randall Messages postés 439 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8561 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
A voir également:

2 réponses

M-12 Messages postés 1332 Date d'inscription   Statut Membre Dernière intervention   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
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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