Bonjour à vous tous
Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai trouvé ce code sur le web que j'ai modifié. Le hic, c'est
que dans mon fichier, j'ai plus d'une plage, alors comment modifier le code Range ("G2:G23), par les cellules sélectionnés?.
Et est-ce que quelqu'un à un meileur code que celui-ci?
Merci de votre aide
Marc
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then
With Target
Select Case Target.Value
Case Is > 12
.Interior.ColorIndex = 3
Case is > 7
.Interior.ColorIndex = 44
Case is > 5
.Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33
End Select
End With
End If
End Sub
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
Jacky
Bonsoir, Par exemple pour les plages et cellules "g2:g3" et "a1:a10" et "b1" et "b10" Range("g2:g3,a1:a10,b1,b10") Quelques modif...(précautions) '-------------- Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G2:G3,a1:a10,b1,b10")) Is Nothing And IsNumeric(Target) Then With Target Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case Is > 7 .Interior.ColorIndex = 44 Case Is > 5 .Interior.ColorIndex = 6 Case Is > 0 .Interior.ColorIndex = 33 End Select End With End If End Sub '---------- -- Salutations JJ
"marc" a écrit dans le message de news:
Bonjour à vous tous Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai trouvé ce code sur le web que j'ai modifié. Le hic, c'est que dans mon fichier, j'ai plus d'une plage, alors comment modifier le code Range ("G2:G23), par les cellules sélectionnés?. Et est-ce que quelqu'un à un meileur code que celui-ci? Merci de votre aide Marc Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then With Target Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case is > 7 .Interior.ColorIndex = 44 Case is > 5 .Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33 End Select End With End If End Sub
Bonsoir,
Par exemple pour
les plages et cellules "g2:g3" et "a1:a10" et "b1" et "b10"
Range("g2:g3,a1:a10,b1,b10")
Quelques modif...(précautions)
'--------------
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("G2:G3,a1:a10,b1,b10")) Is Nothing And
IsNumeric(Target) Then
With Target
Select Case Target.Value
Case Is > 12
.Interior.ColorIndex = 3
Case Is > 7
.Interior.ColorIndex = 44
Case Is > 5
.Interior.ColorIndex = 6
Case Is > 0
.Interior.ColorIndex = 33
End Select
End With
End If
End Sub
'----------
--
Salutations
JJ
"marc" <test@test.com> a écrit dans le message de news:
eSE4eA1zJHA.1492@TK2MSFTNGP04.phx.gbl...
Bonjour à vous tous
Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai
trouvé ce code sur le web que j'ai modifié. Le hic, c'est que dans mon
fichier, j'ai plus d'une plage, alors comment modifier le code Range
("G2:G23), par les cellules sélectionnés?.
Et est-ce que quelqu'un à un meileur code que celui-ci?
Merci de votre aide
Marc
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then
With Target
Select Case Target.Value
Case Is > 12
.Interior.ColorIndex = 3
Case is > 7
.Interior.ColorIndex = 44
Case is > 5
.Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33
End Select
End With
End If
End Sub
Bonsoir, Par exemple pour les plages et cellules "g2:g3" et "a1:a10" et "b1" et "b10" Range("g2:g3,a1:a10,b1,b10") Quelques modif...(précautions) '-------------- Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G2:G3,a1:a10,b1,b10")) Is Nothing And IsNumeric(Target) Then With Target Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case Is > 7 .Interior.ColorIndex = 44 Case Is > 5 .Interior.ColorIndex = 6 Case Is > 0 .Interior.ColorIndex = 33 End Select End With End If End Sub '---------- -- Salutations JJ
"marc" a écrit dans le message de news:
Bonjour à vous tous Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai trouvé ce code sur le web que j'ai modifié. Le hic, c'est que dans mon fichier, j'ai plus d'une plage, alors comment modifier le code Range ("G2:G23), par les cellules sélectionnés?. Et est-ce que quelqu'un à un meileur code que celui-ci? Merci de votre aide Marc Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then With Target Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case is > 7 .Interior.ColorIndex = 44 Case is > 5 .Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33 End Select End With End If End Sub
marc
Bonjour à vous deux Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un bouton et de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouvoir sélectionné manuellement un ensemble de cellules et d'exécuter la macro. Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis pour l'exemple sur la même feuille), j'aimerais sélectionner les cellules de la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse Marc http://cjoint.com/?fjswUFcSS7
"MichDenis" a écrit dans le message de news:
Bonjour Marc,
Un petit exemple :
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim Rg As Range Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10"))) If Not Rg Is Nothing Then For Each c In Rg With c Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case Is > 7 .Interior.ColorIndex = 44 Case Is > 5 .Interior.ColorIndex = 6 Case Is > 0 .Interior.ColorIndex = 33 End Select End With Next End If End Sub
"marc" a écrit dans le message de groupe de discussion :
Bonjour à vous tous Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai trouvé ce code sur le web que j'ai modifié. Le hic, c'est que dans mon fichier, j'ai plus d'une plage, alors comment modifier le code Range ("G2:G23), par les cellules sélectionnés?. Et est-ce que quelqu'un à un meileur code que celui-ci? Merci de votre aide Marc Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then With Target Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case is > 7 .Interior.ColorIndex = 44 Case is > 5 .Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33 End Select End With End If End Sub
Bonjour à vous deux
Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un bouton et
de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des
dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je
ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouvoir
sélectionné manuellement un ensemble de cellules et d'exécuter la macro.
Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis
pour l'exemple sur la même feuille), j'aimerais sélectionner les cellules de
la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse
Marc
http://cjoint.com/?fjswUFcSS7
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de
news:e73jja1zJHA.4412@TK2MSFTNGP06.phx.gbl...
Bonjour Marc,
Un petit exemple :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Rg As Range
Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10")))
If Not Rg Is Nothing Then
For Each c In Rg
With c
Select Case Target.Value
Case Is > 12
.Interior.ColorIndex = 3
Case Is > 7
.Interior.ColorIndex = 44
Case Is > 5
.Interior.ColorIndex = 6
Case Is > 0
.Interior.ColorIndex = 33
End Select
End With
Next
End If
End Sub
"marc" <test@test.com> a écrit dans le message de groupe de discussion :
eSE4eA1zJHA.1492@TK2MSFTNGP04.phx.gbl...
Bonjour à vous tous
Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai
trouvé ce code sur le web que j'ai modifié. Le hic, c'est
que dans mon fichier, j'ai plus d'une plage, alors comment modifier le
code Range ("G2:G23), par les cellules sélectionnés?.
Et est-ce que quelqu'un à un meileur code que celui-ci?
Merci de votre aide
Marc
Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then
With Target
Select Case Target.Value
Case Is > 12
.Interior.ColorIndex = 3
Case is > 7
.Interior.ColorIndex = 44
Case is > 5
.Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33
End Select
End With
End If
End Sub
Bonjour à vous deux Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un bouton et de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouvoir sélectionné manuellement un ensemble de cellules et d'exécuter la macro. Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis pour l'exemple sur la même feuille), j'aimerais sélectionner les cellules de la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse Marc http://cjoint.com/?fjswUFcSS7
"MichDenis" a écrit dans le message de news:
Bonjour Marc,
Un petit exemple :
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim Rg As Range Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10"))) If Not Rg Is Nothing Then For Each c In Rg With c Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case Is > 7 .Interior.ColorIndex = 44 Case Is > 5 .Interior.ColorIndex = 6 Case Is > 0 .Interior.ColorIndex = 33 End Select End With Next End If End Sub
"marc" a écrit dans le message de groupe de discussion :
Bonjour à vous tous Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai trouvé ce code sur le web que j'ai modifié. Le hic, c'est que dans mon fichier, j'ai plus d'une plage, alors comment modifier le code Range ("G2:G23), par les cellules sélectionnés?. Et est-ce que quelqu'un à un meileur code que celui-ci? Merci de votre aide Marc Voici le code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then With Target Select Case Target.Value Case Is > 12 .Interior.ColorIndex = 3 Case is > 7 .Interior.ColorIndex = 44 Case is > 5 .Interior.ColorIndex = 6
Case is > 0
.Interior.ColorIndex = 33 End Select End With End If End Sub
JB
Bonjour,
Sub coloriage() For Each c In Selection Select Case c Case Is > 12 c.Interior.ColorIndex = 3 Case Is > 7 c.Interior.ColorIndex = 44 Case Is > 5 c.Interior.ColorIndex = 6 Case Is > 0 c.Interior.ColorIndex = 33 End Select Next c End Sub
JB http://boisgontierjacques.free.fr
On 8 mai, 04:47, "marc" wrote:
Bonjour à vous deux Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un b outon et de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouv oir sélectionné manuellement un ensemble de cellules et d'exécuter la m acro. Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis pour l'exemple sur la même feuille), j'aimerais sélectionner les cell ules de la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse Marchttp://cjoint.com/?fjswUFcSS7
"MichDenis" a écrit dans le message denews:e73j
> Bonjour Marc,
> Un petit exemple :
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > Dim Rg As Range > Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10"))) > If Not Rg Is Nothing Then > For Each c In Rg > With c > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case Is > 7 > .Interior.ColorIndex = 44 > Case Is > 5 > .Interior.ColorIndex = 6 > Case Is > 0 > .Interior.ColorIndex = 33 > End Select > End With > Next > End If > End Sub
> "marc" a écrit dans le message de groupe de discussio n : > > Bonjour à vous tous > Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai > trouvé ce code sur le web que j'ai modifié. Le hic, c'est > que dans mon fichier, j'ai plus d'une plage, alors comment modifier le > code Range ("G2:G23), par les cellules sélectionnés?. > Et est-ce que quelqu'un à un meileur code que celui-ci? > Merci de votre aide > Marc > Voici le code:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then > With Target > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case is > 7 > .Interior.ColorIndex = 44 > Case is > 5 > .Interior.ColorIndex = 6
> Case is > 0
> .Interior.ColorIndex = 33 > End Select > End With > End If > End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
Sub coloriage()
For Each c In Selection
Select Case c
Case Is > 12
c.Interior.ColorIndex = 3
Case Is > 7
c.Interior.ColorIndex = 44
Case Is > 5
c.Interior.ColorIndex = 6
Case Is > 0
c.Interior.ColorIndex = 33
End Select
Next c
End Sub
JB
http://boisgontierjacques.free.fr
On 8 mai, 04:47, "marc" <marcus.maruc...@hotmail.com> wrote:
Bonjour à vous deux
Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un b outon et
de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des
dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je
ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouv oir
sélectionné manuellement un ensemble de cellules et d'exécuter la m acro.
Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis
pour l'exemple sur la même feuille), j'aimerais sélectionner les cell ules de
la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse
Marchttp://cjoint.com/?fjswUFcSS7
"MichDenis" <michde...@hotmail.com> a écrit dans le message denews:e73j ja1zJHA.4412@TK2MSFTNGP06.phx.gbl...
> Bonjour Marc,
> Un petit exemple :
> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
> Dim Rg As Range
> Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10")))
> If Not Rg Is Nothing Then
> For Each c In Rg
> With c
> Select Case Target.Value
> Case Is > 12
> .Interior.ColorIndex = 3
> Case Is > 7
> .Interior.ColorIndex = 44
> Case Is > 5
> .Interior.ColorIndex = 6
> Case Is > 0
> .Interior.ColorIndex = 33
> End Select
> End With
> Next
> End If
> End Sub
> "marc" <t...@test.com> a écrit dans le message de groupe de discussio n :
> eSE4eA1zJHA.1...@TK2MSFTNGP04.phx.gbl...
> Bonjour à vous tous
> Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai
> trouvé ce code sur le web que j'ai modifié. Le hic, c'est
> que dans mon fichier, j'ai plus d'une plage, alors comment modifier le
> code Range ("G2:G23), par les cellules sélectionnés?.
> Et est-ce que quelqu'un à un meileur code que celui-ci?
> Merci de votre aide
> Marc
> Voici le code:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
> If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then
> With Target
> Select Case Target.Value
> Case Is > 12
> .Interior.ColorIndex = 3
> Case is > 7
> .Interior.ColorIndex = 44
> Case is > 5
> .Interior.ColorIndex = 6
> Case is > 0
> .Interior.ColorIndex = 33
> End Select
> End With
> End If
> End Sub- Masquer le texte des messages précédents -
Sub coloriage() For Each c In Selection Select Case c Case Is > 12 c.Interior.ColorIndex = 3 Case Is > 7 c.Interior.ColorIndex = 44 Case Is > 5 c.Interior.ColorIndex = 6 Case Is > 0 c.Interior.ColorIndex = 33 End Select Next c End Sub
JB http://boisgontierjacques.free.fr
On 8 mai, 04:47, "marc" wrote:
Bonjour à vous deux Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un b outon et de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouv oir sélectionné manuellement un ensemble de cellules et d'exécuter la m acro. Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis pour l'exemple sur la même feuille), j'aimerais sélectionner les cell ules de la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse Marchttp://cjoint.com/?fjswUFcSS7
"MichDenis" a écrit dans le message denews:e73j
> Bonjour Marc,
> Un petit exemple :
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > Dim Rg As Range > Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10"))) > If Not Rg Is Nothing Then > For Each c In Rg > With c > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case Is > 7 > .Interior.ColorIndex = 44 > Case Is > 5 > .Interior.ColorIndex = 6 > Case Is > 0 > .Interior.ColorIndex = 33 > End Select > End With > Next > End If > End Sub
> "marc" a écrit dans le message de groupe de discussio n : > > Bonjour à vous tous > Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai > trouvé ce code sur le web que j'ai modifié. Le hic, c'est > que dans mon fichier, j'ai plus d'une plage, alors comment modifier le > code Range ("G2:G23), par les cellules sélectionnés?. > Et est-ce que quelqu'un à un meileur code que celui-ci? > Merci de votre aide > Marc > Voici le code:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then > With Target > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case is > 7 > .Interior.ColorIndex = 44 > Case is > 5 > .Interior.ColorIndex = 6
> Case is > 0
> .Interior.ColorIndex = 33 > End Select > End With > End If > End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
marc
Bonjour JB C'Est exactement ce que je voulais Merci Mar "JB" a écrit dans le message de news: Bonjour,
Sub coloriage() For Each c In Selection Select Case c Case Is > 12 c.Interior.ColorIndex = 3 Case Is > 7 c.Interior.ColorIndex = 44 Case Is > 5 c.Interior.ColorIndex = 6 Case Is > 0 c.Interior.ColorIndex = 33 End Select Next c End Sub
JB http://boisgontierjacques.free.fr
On 8 mai, 04:47, "marc" wrote:
Bonjour à vous deux Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un bouton et de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouvoir sélectionné manuellement un ensemble de cellules et d'exécuter la macro. Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis pour l'exemple sur la même feuille), j'aimerais sélectionner les cellules de la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse Marchttp://cjoint.com/?fjswUFcSS7
"MichDenis" a écrit dans le message denews:
> Bonjour Marc,
> Un petit exemple :
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > Dim Rg As Range > Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10"))) > If Not Rg Is Nothing Then > For Each c In Rg > With c > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case Is > 7 > .Interior.ColorIndex = 44 > Case Is > 5 > .Interior.ColorIndex = 6 > Case Is > 0 > .Interior.ColorIndex = 33 > End Select > End With > Next > End If > End Sub
> "marc" a écrit dans le message de groupe de discussion : > > Bonjour à vous tous > Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai > trouvé ce code sur le web que j'ai modifié. Le hic, c'est > que dans mon fichier, j'ai plus d'une plage, alors comment modifier le > code Range ("G2:G23), par les cellules sélectionnés?. > Et est-ce que quelqu'un à un meileur code que celui-ci? > Merci de votre aide > Marc > Voici le code:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then > With Target > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case is > 7 > .Interior.ColorIndex = 44 > Case is > 5 > .Interior.ColorIndex = 6
> Case is > 0
> .Interior.ColorIndex = 33 > End Select > End With > End If > End Sub- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour JB
C'Est exactement ce que je voulais
Merci
Mar
"JB" <boisgontier@hotmail.com> a écrit dans le message de news: 0ab39d94-6d83-4e11-b7ff-d5338d742dbf@g20g2000vba.googlegroups.com...
Bonjour,
Sub coloriage()
For Each c In Selection
Select Case c
Case Is > 12
c.Interior.ColorIndex = 3
Case Is > 7
c.Interior.ColorIndex = 44
Case Is > 5
c.Interior.ColorIndex = 6
Case Is > 0
c.Interior.ColorIndex = 33
End Select
Next c
End Sub
JB
http://boisgontierjacques.free.fr
On 8 mai, 04:47, "marc" <marcus.maruc...@hotmail.com> wrote:
Bonjour à vous deux
Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un bouton et
de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des
dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je
ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouvoir
sélectionné manuellement un ensemble de cellules et d'exécuter la macro.
Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis
pour l'exemple sur la même feuille), j'aimerais sélectionner les cellules de
la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse
Marchttp://cjoint.com/?fjswUFcSS7
"MichDenis" <michde...@hotmail.com> a écrit dans le message denews:e73jja1zJHA.4412@TK2MSFTNGP06.phx.gbl...
> Bonjour Marc,
> Un petit exemple :
> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
> Dim Rg As Range
> Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10")))
> If Not Rg Is Nothing Then
> For Each c In Rg
> With c
> Select Case Target.Value
> Case Is > 12
> .Interior.ColorIndex = 3
> Case Is > 7
> .Interior.ColorIndex = 44
> Case Is > 5
> .Interior.ColorIndex = 6
> Case Is > 0
> .Interior.ColorIndex = 33
> End Select
> End With
> Next
> End If
> End Sub
> "marc" <t...@test.com> a écrit dans le message de groupe de discussion :
> eSE4eA1zJHA.1...@TK2MSFTNGP04.phx.gbl...
> Bonjour à vous tous
> Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai
> trouvé ce code sur le web que j'ai modifié. Le hic, c'est
> que dans mon fichier, j'ai plus d'une plage, alors comment modifier le
> code Range ("G2:G23), par les cellules sélectionnés?.
> Et est-ce que quelqu'un à un meileur code que celui-ci?
> Merci de votre aide
> Marc
> Voici le code:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range)
> If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then
> With Target
> Select Case Target.Value
> Case Is > 12
> .Interior.ColorIndex = 3
> Case is > 7
> .Interior.ColorIndex = 44
> Case is > 5
> .Interior.ColorIndex = 6
> Case is > 0
> .Interior.ColorIndex = 33
> End Select
> End With
> End If
> End Sub- Masquer le texte des messages précédents -
Bonjour JB C'Est exactement ce que je voulais Merci Mar "JB" a écrit dans le message de news: Bonjour,
Sub coloriage() For Each c In Selection Select Case c Case Is > 12 c.Interior.ColorIndex = 3 Case Is > 7 c.Interior.ColorIndex = 44 Case Is > 5 c.Interior.ColorIndex = 6 Case Is > 0 c.Interior.ColorIndex = 33 End Select Next c End Sub
JB http://boisgontierjacques.free.fr
On 8 mai, 04:47, "marc" wrote:
Bonjour à vous deux Je ne suis pas très bon en vba. Je m'attendais à pouvoir créer un bouton et de cliquer dessus pour exécuter la macro. Car dans la "vraie vie", j'ai des dizaines de fichier qui contiennent chacun une dizaine de feuille. Alors je ne veux pas à avoir à écrire ou nommé des plages, j'aimerais pouvoir sélectionné manuellement un ensemble de cellules et d'exécuter la macro. Je vous joins un exemple de document, il y a trois tableaux (que j'ai mis pour l'exemple sur la même feuille), j'aimerais sélectionner les cellules de la colonne Total et d'exécuter ma macro.
Merci de votre aide précieuse Marchttp://cjoint.com/?fjswUFcSS7
"MichDenis" a écrit dans le message denews:
> Bonjour Marc,
> Un petit exemple :
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > Dim Rg As Range > Set Rg = Intersect(Target, Union(Range("G2:G23"), Range("J5:J10"))) > If Not Rg Is Nothing Then > For Each c In Rg > With c > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case Is > 7 > .Interior.ColorIndex = 44 > Case Is > 5 > .Interior.ColorIndex = 6 > Case Is > 0 > .Interior.ColorIndex = 33 > End Select > End With > Next > End If > End Sub
> "marc" a écrit dans le message de groupe de discussion : > > Bonjour à vous tous > Je cherche à faire une mise en forme conditionnelle sur 4 conditions. J'ai > trouvé ce code sur le web que j'ai modifié. Le hic, c'est > que dans mon fichier, j'ai plus d'une plage, alors comment modifier le > code Range ("G2:G23), par les cellules sélectionnés?. > Et est-ce que quelqu'un à un meileur code que celui-ci? > Merci de votre aide > Marc > Voici le code:
> Private Sub Worksheet_Change(ByVal Target As Excel.Range) > If Not Intersect(Target, Range("G2:G23" )) Is Nothing Then > With Target > Select Case Target.Value > Case Is > 12 > .Interior.ColorIndex = 3 > Case is > 7 > .Interior.ColorIndex = 44 > Case is > 5 > .Interior.ColorIndex = 6
> Case is > 0
> .Interior.ColorIndex = 33 > End Select > End With > End If > End Sub- Masquer le texte des messages précédents -