Je voudrais utilisé la mise en forme conditionnel pour un planning mais
j'ai plus de 3 critères.
J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range)
Dim c As Range
If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then
For Each c In Target
Select Case c.value
Case "A":c.Interior.ColorIndex = 38
Case "B":c.Interior.ColorIndex = 5
Case "C":c.Interior.ColorIndex = 34
Case "D":c.Interior.ColorIndex = 41
Case "E":c.Interior.ColorIndex = 36
Case Else: c.Interior.ColorIdex = xlNone
End Select
Next
End If
End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que
que le critère soit sur une autre feuille dans une cellule que je
nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi
si je change de critère je n'ai pas besion d'aller dans le VBA
J'esper que je me suis bien expliqué
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Jacquouille,
Tu peux utiliser le même type de procédure en modifiant le select Case Et des "Case" tu peux en ajouter autant que désiré...
Private Sub Worksheet_change(ByVal Target As Range) Dim c As Range, Rg As Range
'à déterminer selon ton application Set Rg = Worksheets("Feuil2").Range("A1") 'Ton critère
'Remplace Range("B1:B2") par l'étendue de la plage où la 'procédure doit s'appliquer. If Not Intersect(Target, Range("B1:B2")) Is Nothing Then For Each c In Target Select Case c.Value Case Is = Rg.Value: c.Interior.ColorIndex = 38 Case Is < Rg.Value: c.Interior.ColorIndex = 5 Case Is > Rg.Value: c.Interior.ColorIndex = 34 Case Else: c.Interior.ColorIndex = xlNone End Select Next End If Set Rg = Nothing: Set C = Nothing End Sub
Salutations!
"Jacquouille Le Gaulois" a écrit dans le message de news: Bonjour,
C'est encore moi :D
Je voudrais utilisé la mise en forme conditionnel pour un planning mais j'ai plus de 3 critères. J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range) Dim c As Range If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then For Each c In Target Select Case c.value Case "A":c.Interior.ColorIndex = 38 Case "B":c.Interior.ColorIndex = 5 Case "C":c.Interior.ColorIndex = 34 Case "D":c.Interior.ColorIndex = 41 Case "E":c.Interior.ColorIndex = 36 Case Else: c.Interior.ColorIdex = xlNone End Select Next End If End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que que le critère soit sur une autre feuille dans une cellule que je nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi si je change de critère je n'ai pas besion d'aller dans le VBA J'esper que je me suis bien expliqué
Tu peux utiliser le même type de procédure en modifiant le select Case
Et des "Case" tu peux en ajouter autant que désiré...
Private Sub Worksheet_change(ByVal Target As Range)
Dim c As Range, Rg As Range
'à déterminer selon ton application
Set Rg = Worksheets("Feuil2").Range("A1") 'Ton critère
'Remplace Range("B1:B2") par l'étendue de la plage où la
'procédure doit s'appliquer.
If Not Intersect(Target, Range("B1:B2")) Is Nothing Then
For Each c In Target
Select Case c.Value
Case Is = Rg.Value: c.Interior.ColorIndex = 38
Case Is < Rg.Value: c.Interior.ColorIndex = 5
Case Is > Rg.Value: c.Interior.ColorIndex = 34
Case Else: c.Interior.ColorIndex = xlNone
End Select
Next
End If
Set Rg = Nothing: Set C = Nothing
End Sub
Salutations!
"Jacquouille Le Gaulois" <jdg74.gaulois@tiscali.fr> a écrit dans le message de
news:mesnews.ac1a7d42.f31712a1.23.4614@tiscali.fr...
Bonjour,
C'est encore moi :D
Je voudrais utilisé la mise en forme conditionnel pour un planning mais
j'ai plus de 3 critères.
J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range)
Dim c As Range
If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then
For Each c In Target
Select Case c.value
Case "A":c.Interior.ColorIndex = 38
Case "B":c.Interior.ColorIndex = 5
Case "C":c.Interior.ColorIndex = 34
Case "D":c.Interior.ColorIndex = 41
Case "E":c.Interior.ColorIndex = 36
Case Else: c.Interior.ColorIdex = xlNone
End Select
Next
End If
End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que
que le critère soit sur une autre feuille dans une cellule que je
nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi
si je change de critère je n'ai pas besion d'aller dans le VBA
J'esper que je me suis bien expliqué
Tu peux utiliser le même type de procédure en modifiant le select Case Et des "Case" tu peux en ajouter autant que désiré...
Private Sub Worksheet_change(ByVal Target As Range) Dim c As Range, Rg As Range
'à déterminer selon ton application Set Rg = Worksheets("Feuil2").Range("A1") 'Ton critère
'Remplace Range("B1:B2") par l'étendue de la plage où la 'procédure doit s'appliquer. If Not Intersect(Target, Range("B1:B2")) Is Nothing Then For Each c In Target Select Case c.Value Case Is = Rg.Value: c.Interior.ColorIndex = 38 Case Is < Rg.Value: c.Interior.ColorIndex = 5 Case Is > Rg.Value: c.Interior.ColorIndex = 34 Case Else: c.Interior.ColorIndex = xlNone End Select Next End If Set Rg = Nothing: Set C = Nothing End Sub
Salutations!
"Jacquouille Le Gaulois" a écrit dans le message de news: Bonjour,
C'est encore moi :D
Je voudrais utilisé la mise en forme conditionnel pour un planning mais j'ai plus de 3 critères. J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range) Dim c As Range If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then For Each c In Target Select Case c.value Case "A":c.Interior.ColorIndex = 38 Case "B":c.Interior.ColorIndex = 5 Case "C":c.Interior.ColorIndex = 34 Case "D":c.Interior.ColorIndex = 41 Case "E":c.Interior.ColorIndex = 36 Case Else: c.Interior.ColorIdex = xlNone End Select Next End If End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que que le critère soit sur une autre feuille dans une cellule que je nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi si je change de critère je n'ai pas besion d'aller dans le VBA J'esper que je me suis bien expliqué
J'ai essaye de modifier le code envoye par ChrisV et cela ne marche pas quelqu'un pourrais me dire ce qui cloche Voici mon code ( de debutant... ;-) ) Private Sub Worksheet_change(ByVal Target As Range) Dim c As Range Dim Rg As Range
Set Rg = Worksheets("Feuil17").Range("B4") Set Rg2 = Worksheets("Feuil17").Range("C4") Set Rg3 = Worksheets("Feuil17").Range("D4") Set Rg4 = Worksheets("Feuil17").Range("E4") Set Rg5 = Worksheets("Feuil17").Range("F4") Set Rg6 = Worksheets("Feuil17").Range("G4") Set Rg7 = Worksheets("Feuil17").Range("H4") Set Rg8 = Worksheets("Feuil17").Range("I4") Set Rg9 = Worksheets("Feuil17").Range("J4") Set Rg10 = Worksheets("Feuil17").Range("K4") Set Rg11 = Worksheets("Feuil17").Range("L4") Set Rg12 = Worksheets("Feuil17").Range("M4") Set Rg13 = Worksheets("Feuil17").Range("N4")
If Not Intersect(Target, Range("C6:AG35")) Is Nothing Then For Each c In Target Select Case c.Value Case Is = Rg.Value: c.Interior.ColorIndex = 21 Case Is = Rg2.Value: c.Interior.ColorIndex = 33 Case Is = Rg3.Value: c.Interior.ColorIndex = 30 Case Is = Rg4.Value: c.Interior.ColorIndex = 42 Case Is = Rg5.Value: c.Interior.ColorIndex = 2 Case Is = Rg6.Value: c.Interior.ColorIndex = 37 Case Is = Rg7.Value: c.Interior.ColorIndex = 38 Case Is = Rg8.Value: c.Interior.ColorIndex = 3 Case Is = Rg9.Value: c.Interior.ColorIndex = 6 Case Is = Rg10.Value: c.Interior.ColorIndex = 9 Case Is = Rg11.Value: c.Interior.ColorIndex = 10 Case Is = Rg12.Value: c.Interior.ColorIndex = 15 Case Is = Rg13.Value: c.Interior.ColorIndex = 8 Case Else: c.Interior.ColorIndex = xlNone End Select Next End If Set Rg = Nothing: Set c = Nothing End Sub
Bonjour Jacquouille,
Tu peux utiliser le même type de procédure en modifiant le select Case Et des "Case" tu peux en ajouter autant que désiré...
Private Sub Worksheet_change(ByVal Target As Range) Dim c As Range, Rg As Range
'à déterminer selon ton application Set Rg = Worksheets("Feuil2").Range("A1") 'Ton critère
'Remplace Range("B1:B2") par l'étendue de la plage où la 'procédure doit s'appliquer. If Not Intersect(Target, Range("B1:B2")) Is Nothing Then For Each c In Target Select Case c.Value Case Is = Rg.Value: c.Interior.ColorIndex = 38 Case Is < Rg.Value: c.Interior.ColorIndex = 5 Case Is > Rg.Value: c.Interior.ColorIndex = 34 Case Else: c.Interior.ColorIndex = xlNone End Select Next End If Set Rg = Nothing: Set C = Nothing End Sub
Salutations!
"Jacquouille Le Gaulois" a écrit dans le message de news: Bonjour,
C'est encore moi :D
Je voudrais utilisé la mise en forme conditionnel pour un planning mais j'ai plus de 3 critères. J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range) Dim c As Range If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then For Each c In Target Select Case c.value Case "A":c.Interior.ColorIndex = 38 Case "B":c.Interior.ColorIndex = 5 Case "C":c.Interior.ColorIndex = 34 Case "D":c.Interior.ColorIndex = 41 Case "E":c.Interior.ColorIndex = 36 Case Else: c.Interior.ColorIdex = xlNone End Select Next End If End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que que le critère soit sur une autre feuille dans une cellule que je nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi si je change de critère je n'ai pas besion d'aller dans le VBA J'esper que je me suis bien expliqué
J'ai essaye de modifier le code envoye par ChrisV et cela ne marche pas
quelqu'un pourrais me dire ce qui cloche
Voici mon code ( de debutant... ;-) )
Private Sub Worksheet_change(ByVal Target As Range)
Dim c As Range
Dim Rg As Range
Set Rg = Worksheets("Feuil17").Range("B4")
Set Rg2 = Worksheets("Feuil17").Range("C4")
Set Rg3 = Worksheets("Feuil17").Range("D4")
Set Rg4 = Worksheets("Feuil17").Range("E4")
Set Rg5 = Worksheets("Feuil17").Range("F4")
Set Rg6 = Worksheets("Feuil17").Range("G4")
Set Rg7 = Worksheets("Feuil17").Range("H4")
Set Rg8 = Worksheets("Feuil17").Range("I4")
Set Rg9 = Worksheets("Feuil17").Range("J4")
Set Rg10 = Worksheets("Feuil17").Range("K4")
Set Rg11 = Worksheets("Feuil17").Range("L4")
Set Rg12 = Worksheets("Feuil17").Range("M4")
Set Rg13 = Worksheets("Feuil17").Range("N4")
If Not Intersect(Target, Range("C6:AG35")) Is Nothing Then
For Each c In Target
Select Case c.Value
Case Is = Rg.Value: c.Interior.ColorIndex = 21
Case Is = Rg2.Value: c.Interior.ColorIndex = 33
Case Is = Rg3.Value: c.Interior.ColorIndex = 30
Case Is = Rg4.Value: c.Interior.ColorIndex = 42
Case Is = Rg5.Value: c.Interior.ColorIndex = 2
Case Is = Rg6.Value: c.Interior.ColorIndex = 37
Case Is = Rg7.Value: c.Interior.ColorIndex = 38
Case Is = Rg8.Value: c.Interior.ColorIndex = 3
Case Is = Rg9.Value: c.Interior.ColorIndex = 6
Case Is = Rg10.Value: c.Interior.ColorIndex = 9
Case Is = Rg11.Value: c.Interior.ColorIndex = 10
Case Is = Rg12.Value: c.Interior.ColorIndex = 15
Case Is = Rg13.Value: c.Interior.ColorIndex = 8
Case Else: c.Interior.ColorIndex = xlNone
End Select
Next
End If
Set Rg = Nothing: Set c = Nothing
End Sub
Bonjour Jacquouille,
Tu peux utiliser le même type de procédure en modifiant le select Case
Et des "Case" tu peux en ajouter autant que désiré...
Private Sub Worksheet_change(ByVal Target As Range)
Dim c As Range, Rg As Range
'à déterminer selon ton application
Set Rg = Worksheets("Feuil2").Range("A1") 'Ton critère
'Remplace Range("B1:B2") par l'étendue de la plage où la
'procédure doit s'appliquer.
If Not Intersect(Target, Range("B1:B2")) Is Nothing Then
For Each c In Target
Select Case c.Value
Case Is = Rg.Value: c.Interior.ColorIndex = 38
Case Is < Rg.Value: c.Interior.ColorIndex = 5
Case Is > Rg.Value: c.Interior.ColorIndex = 34
Case Else: c.Interior.ColorIndex = xlNone
End Select
Next
End If
Set Rg = Nothing: Set C = Nothing
End Sub
Salutations!
"Jacquouille Le Gaulois" <jdg74.gaulois@tiscali.fr> a écrit dans le message
de news:mesnews.ac1a7d42.f31712a1.23.4614@tiscali.fr...
Bonjour,
C'est encore moi :D
Je voudrais utilisé la mise en forme conditionnel pour un planning mais
j'ai plus de 3 critères.
J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range)
Dim c As Range
If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then
For Each c In Target
Select Case c.value
Case "A":c.Interior.ColorIndex = 38
Case "B":c.Interior.ColorIndex = 5
Case "C":c.Interior.ColorIndex = 34
Case "D":c.Interior.ColorIndex = 41
Case "E":c.Interior.ColorIndex = 36
Case Else: c.Interior.ColorIdex = xlNone
End Select
Next
End If
End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que
que le critère soit sur une autre feuille dans une cellule que je
nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi
si je change de critère je n'ai pas besion d'aller dans le VBA
J'esper que je me suis bien expliqué
J'ai essaye de modifier le code envoye par ChrisV et cela ne marche pas quelqu'un pourrais me dire ce qui cloche Voici mon code ( de debutant... ;-) ) Private Sub Worksheet_change(ByVal Target As Range) Dim c As Range Dim Rg As Range
Set Rg = Worksheets("Feuil17").Range("B4") Set Rg2 = Worksheets("Feuil17").Range("C4") Set Rg3 = Worksheets("Feuil17").Range("D4") Set Rg4 = Worksheets("Feuil17").Range("E4") Set Rg5 = Worksheets("Feuil17").Range("F4") Set Rg6 = Worksheets("Feuil17").Range("G4") Set Rg7 = Worksheets("Feuil17").Range("H4") Set Rg8 = Worksheets("Feuil17").Range("I4") Set Rg9 = Worksheets("Feuil17").Range("J4") Set Rg10 = Worksheets("Feuil17").Range("K4") Set Rg11 = Worksheets("Feuil17").Range("L4") Set Rg12 = Worksheets("Feuil17").Range("M4") Set Rg13 = Worksheets("Feuil17").Range("N4")
If Not Intersect(Target, Range("C6:AG35")) Is Nothing Then For Each c In Target Select Case c.Value Case Is = Rg.Value: c.Interior.ColorIndex = 21 Case Is = Rg2.Value: c.Interior.ColorIndex = 33 Case Is = Rg3.Value: c.Interior.ColorIndex = 30 Case Is = Rg4.Value: c.Interior.ColorIndex = 42 Case Is = Rg5.Value: c.Interior.ColorIndex = 2 Case Is = Rg6.Value: c.Interior.ColorIndex = 37 Case Is = Rg7.Value: c.Interior.ColorIndex = 38 Case Is = Rg8.Value: c.Interior.ColorIndex = 3 Case Is = Rg9.Value: c.Interior.ColorIndex = 6 Case Is = Rg10.Value: c.Interior.ColorIndex = 9 Case Is = Rg11.Value: c.Interior.ColorIndex = 10 Case Is = Rg12.Value: c.Interior.ColorIndex = 15 Case Is = Rg13.Value: c.Interior.ColorIndex = 8 Case Else: c.Interior.ColorIndex = xlNone End Select Next End If Set Rg = Nothing: Set c = Nothing End Sub
Bonjour Jacquouille,
Tu peux utiliser le même type de procédure en modifiant le select Case Et des "Case" tu peux en ajouter autant que désiré...
Private Sub Worksheet_change(ByVal Target As Range) Dim c As Range, Rg As Range
'à déterminer selon ton application Set Rg = Worksheets("Feuil2").Range("A1") 'Ton critère
'Remplace Range("B1:B2") par l'étendue de la plage où la 'procédure doit s'appliquer. If Not Intersect(Target, Range("B1:B2")) Is Nothing Then For Each c In Target Select Case c.Value Case Is = Rg.Value: c.Interior.ColorIndex = 38 Case Is < Rg.Value: c.Interior.ColorIndex = 5 Case Is > Rg.Value: c.Interior.ColorIndex = 34 Case Else: c.Interior.ColorIndex = xlNone End Select Next End If Set Rg = Nothing: Set C = Nothing End Sub
Salutations!
"Jacquouille Le Gaulois" a écrit dans le message de news: Bonjour,
C'est encore moi :D
Je voudrais utilisé la mise en forme conditionnel pour un planning mais j'ai plus de 3 critères. J'ai donc recherché avec googleet j'ai trouvé ceci
Private Sub Worksheet_change(ByVal Target As range) Dim c As Range If not Intersect(Traget.Cells, Range("Zn")) Is Nothing Then For Each c In Target Select Case c.value Case "A":c.Interior.ColorIndex = 38 Case "B":c.Interior.ColorIndex = 5 Case "C":c.Interior.ColorIndex = 34 Case "D":c.Interior.ColorIndex = 41 Case "E":c.Interior.ColorIndex = 36 Case Else: c.Interior.ColorIdex = xlNone End Select Next End If End Sub
Ce ci pourrait tres bien me satisfaire si ce n'est que je voudrais que que le critère soit sur une autre feuille dans une cellule que je nommerai Code1 pour le premier critère code2 pour le deuxieme ... Ainsi si je change de critère je n'ai pas besion d'aller dans le VBA J'esper que je me suis bien expliqué