Question sur Select Case
Bonjour ou rebonjour pour certains,
Une question sur la méthode Select Case : il y a peu j'ai appris que grâce à cette méthode, on pouvait travailler sur des colonnes différentes dans une macro évènementielle. Voici celle que j'utilise :
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 2 To 4
If Target.Count = 1 And Target.Row > 1 And Target.Row < 7 Then
Range("A8:BQ600").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("A1").CurrentRegion
End If
Case 5 'L'utilisateur a changé la valeur d'une cellule de la colonne E
If Target.Count = 1 And Target.Row > 8 Then
ActiveCell.Offset(0, 18).Select
MsgBox "Ne pas oublier de saisir la date de promotion.", vbCritical, "Attention..."
End If
If Target.Count = 1 And Target.Row > 1 And Target.Row < 7 Then
Range("A8:BQ600").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("A1").CurrentRegion
End If
Case 6 To 69
If Target.Count = 1 And Target.Row > 1 And Target.Row < 7 Then
Range("A8:BQ600").AdvancedFilter Action:=xlFilterInPlace, _
CriteriaRange:=Range("A1").CurrentRegion
End If
End Select
End Sub
Ma question est donc la suivante : peut on rajouter un autre Select Case dans celui déjà existant (un peu à la manière de la fonction SI avec les Si imbriqués) ? Pour être plus clair, je voudrais changer la couleur de fond de la cellule en fonction de sa valeur (cà je sais faire en VBA, pas de problème) sur la colonne D donc 4.
Merci de bien vouloir me dire si c'est possible et comment inclure la seconde méthode Select Case.
Bon après-midi.
Bonjour Criscris,
Il ne me semble pas que l'imbrication de Select pose de problème, enfin si tu veux faire le test sur la même variable je suis pas sûr...
Sinon il faut juste bien l'écrire mais ça doit être faisable comme ça :
Select Case Target.Column
Case 2 To 4
Select Case Variable2
Case 2 To 3
DoEvents
Case Else
Msgbox "Cas non reconnu"
End Select
Case 5
Case 6 To 69
End Select
End Sub
Bonjour Reuk, le forum,
Merci pour ton aide précieuse. Je vais faire des tests.
Bon après-midi.