Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui
mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je
voudrais que la cellule se colore en fonction du classement (exemple le
moins cher en vert avec progression de la couleur jusqu'au Rouge pour le
plus cher.
Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F
G H I J K L
1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ?
1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ?
1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ?
1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ?
1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance
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
anomymousA
bonjour,
Dans le code suivant, il est nécessaire de faire une référence à une cellule bidon (Z1) pour initialiser plage1.L'essentiel est qu'il n' y ait pas de valeur numérique dans Z1.
On suppose que tes données vont de la ligne 2 à derniereligne et que tes colonnes vont de 1 à 6 Le code couleurs utilisés pour la séquence des couleurs est celui d'Excel, tu peux changer la nature des couleurs plutot que respecter la séquence de couleurs de 2 à 8 en déclarant juste avant c.Interior.ColorIndex = I + 1 la valeur de la couleur que tu désires pour aller de vert à rouge puisque la boucle de compraraison des valeurs est faite du plus petit vers le plus grand (à toi de voir)
Attention ensuite que si 2 valeurs sont strictement égales, leurs codes couleurs seront quand même différents.
Sub Macro1()
Dim plage1 As Range, plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6)) Set plage1 = Range("Z1")
For I = 1 To 6
For Each c In plage If c.Interior.ColorIndex = xlNone Then Set plage1 = Union(c, plage1) End If Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1 If c.Value = toto Then c.Interior.ColorIndex = I + 1 Exit For End If Next
Set plage1 = Range("Z1")
Next
next
End Sub
A+
Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je voudrais que la cellule se colore en fonction du classement (exemple le moins cher en vert avec progression de la couleur jusqu'au Rouge pour le plus cher. Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F G H I J K L 1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ? 1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ? 1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ? 1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ? 1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance
Salutations à tous
Patrick
bonjour,
Dans le code suivant, il est nécessaire de faire une référence à une cellule
bidon (Z1) pour initialiser plage1.L'essentiel est qu'il n' y ait pas de
valeur numérique dans Z1.
On suppose que tes données vont de la ligne 2 à derniereligne et que tes
colonnes vont de 1 à 6
Le code couleurs utilisés pour la séquence des couleurs est celui d'Excel,
tu peux changer la nature des couleurs plutot que respecter la séquence de
couleurs de 2 à 8 en déclarant juste avant c.Interior.ColorIndex = I + 1 la
valeur de la couleur que tu désires pour aller de vert à rouge puisque la
boucle de compraraison des valeurs est faite du plus petit vers le plus grand
(à toi de voir)
Attention ensuite que si 2 valeurs sont strictement égales, leurs codes
couleurs seront quand même différents.
Sub Macro1()
Dim plage1 As Range, plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6))
Set plage1 = Range("Z1")
For I = 1 To 6
For Each c In plage
If c.Interior.ColorIndex = xlNone Then
Set plage1 = Union(c, plage1)
End If
Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1
If c.Value = toto Then
c.Interior.ColorIndex = I + 1
Exit For
End If
Next
Set plage1 = Range("Z1")
Next
next
End Sub
A+
Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui
mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je
voudrais que la cellule se colore en fonction du classement (exemple le
moins cher en vert avec progression de la couleur jusqu'au Rouge pour le
plus cher.
Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F
G H I J K L
1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ?
1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ?
1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ?
1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ?
1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance
Dans le code suivant, il est nécessaire de faire une référence à une cellule bidon (Z1) pour initialiser plage1.L'essentiel est qu'il n' y ait pas de valeur numérique dans Z1.
On suppose que tes données vont de la ligne 2 à derniereligne et que tes colonnes vont de 1 à 6 Le code couleurs utilisés pour la séquence des couleurs est celui d'Excel, tu peux changer la nature des couleurs plutot que respecter la séquence de couleurs de 2 à 8 en déclarant juste avant c.Interior.ColorIndex = I + 1 la valeur de la couleur que tu désires pour aller de vert à rouge puisque la boucle de compraraison des valeurs est faite du plus petit vers le plus grand (à toi de voir)
Attention ensuite que si 2 valeurs sont strictement égales, leurs codes couleurs seront quand même différents.
Sub Macro1()
Dim plage1 As Range, plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6)) Set plage1 = Range("Z1")
For I = 1 To 6
For Each c In plage If c.Interior.ColorIndex = xlNone Then Set plage1 = Union(c, plage1) End If Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1 If c.Value = toto Then c.Interior.ColorIndex = I + 1 Exit For End If Next
Set plage1 = Range("Z1")
Next
next
End Sub
A+
Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je voudrais que la cellule se colore en fonction du classement (exemple le moins cher en vert avec progression de la couleur jusqu'au Rouge pour le plus cher. Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F G H I J K L 1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ? 1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ? 1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ? 1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ? 1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance
Salutations à tous
Patrick
anomymousA
re,
la variante qui permet de se passer de la référence bidon de plage1 à la cellule Z1
Sub Macro1()
Dim plage1 As Range,plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6))
For I = 1 To 6
For Each c In plage If c.Interior.ColorIndex = xlNone Then On Error Resume Next Set plage1 = Union(c, plage1) If Err.Number <> 0 Then Err.Clear Set plage1 = Union(c, c) End If End If Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1 If c.Value = toto Then c.Interior.ColorIndex = I + 1 Exit For End If Next
Set plage1 = Nothing
Next
Next
End Sub
Ce coup là , c'est finalisé.
A+
bonjour,
Dans le code suivant, il est nécessaire de faire une référence à une cellule bidon (Z1) pour initialiser plage1.L'essentiel est qu'il n' y ait pas de valeur numérique dans Z1.
On suppose que tes données vont de la ligne 2 à derniereligne et que tes colonnes vont de 1 à 6 Le code couleurs utilisés pour la séquence des couleurs est celui d'Excel, tu peux changer la nature des couleurs plutot que respecter la séquence de couleurs de 2 à 8 en déclarant juste avant c.Interior.ColorIndex = I + 1 la valeur de la couleur que tu désires pour aller de vert à rouge puisque la boucle de compraraison des valeurs est faite du plus petit vers le plus grand (à toi de voir)
Attention ensuite que si 2 valeurs sont strictement égales, leurs codes couleurs seront quand même différents.
Sub Macro1()
Dim plage1 As Range, plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6)) Set plage1 = Range("Z1")
For I = 1 To 6
For Each c In plage If c.Interior.ColorIndex = xlNone Then Set plage1 = Union(c, plage1) End If Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1 If c.Value = toto Then c.Interior.ColorIndex = I + 1 Exit For End If Next
Set plage1 = Range("Z1")
Next
next
End Sub
A+
Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je voudrais que la cellule se colore en fonction du classement (exemple le moins cher en vert avec progression de la couleur jusqu'au Rouge pour le plus cher. Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F G H I J K L 1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ? 1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ? 1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ? 1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ? 1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance
Salutations à tous
Patrick
re,
la variante qui permet de se passer de la référence bidon de plage1 à la
cellule Z1
Sub Macro1()
Dim plage1 As Range,plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6))
For I = 1 To 6
For Each c In plage
If c.Interior.ColorIndex = xlNone Then
On Error Resume Next
Set plage1 = Union(c, plage1)
If Err.Number <> 0 Then
Err.Clear
Set plage1 = Union(c, c)
End If
End If
Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1
If c.Value = toto Then
c.Interior.ColorIndex = I + 1
Exit For
End If
Next
Set plage1 = Nothing
Next
Next
End Sub
Ce coup là , c'est finalisé.
A+
bonjour,
Dans le code suivant, il est nécessaire de faire une référence à une cellule
bidon (Z1) pour initialiser plage1.L'essentiel est qu'il n' y ait pas de
valeur numérique dans Z1.
On suppose que tes données vont de la ligne 2 à derniereligne et que tes
colonnes vont de 1 à 6
Le code couleurs utilisés pour la séquence des couleurs est celui d'Excel,
tu peux changer la nature des couleurs plutot que respecter la séquence de
couleurs de 2 à 8 en déclarant juste avant c.Interior.ColorIndex = I + 1 la
valeur de la couleur que tu désires pour aller de vert à rouge puisque la
boucle de compraraison des valeurs est faite du plus petit vers le plus grand
(à toi de voir)
Attention ensuite que si 2 valeurs sont strictement égales, leurs codes
couleurs seront quand même différents.
Sub Macro1()
Dim plage1 As Range, plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6))
Set plage1 = Range("Z1")
For I = 1 To 6
For Each c In plage
If c.Interior.ColorIndex = xlNone Then
Set plage1 = Union(c, plage1)
End If
Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1
If c.Value = toto Then
c.Interior.ColorIndex = I + 1
Exit For
End If
Next
Set plage1 = Range("Z1")
Next
next
End Sub
A+
Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui
mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je
voudrais que la cellule se colore en fonction du classement (exemple le
moins cher en vert avec progression de la couleur jusqu'au Rouge pour le
plus cher.
Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F
G H I J K L
1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ?
1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ?
1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ?
1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ?
1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance
la variante qui permet de se passer de la référence bidon de plage1 à la cellule Z1
Sub Macro1()
Dim plage1 As Range,plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6))
For I = 1 To 6
For Each c In plage If c.Interior.ColorIndex = xlNone Then On Error Resume Next Set plage1 = Union(c, plage1) If Err.Number <> 0 Then Err.Clear Set plage1 = Union(c, c) End If End If Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1 If c.Value = toto Then c.Interior.ColorIndex = I + 1 Exit For End If Next
Set plage1 = Nothing
Next
Next
End Sub
Ce coup là , c'est finalisé.
A+
bonjour,
Dans le code suivant, il est nécessaire de faire une référence à une cellule bidon (Z1) pour initialiser plage1.L'essentiel est qu'il n' y ait pas de valeur numérique dans Z1.
On suppose que tes données vont de la ligne 2 à derniereligne et que tes colonnes vont de 1 à 6 Le code couleurs utilisés pour la séquence des couleurs est celui d'Excel, tu peux changer la nature des couleurs plutot que respecter la séquence de couleurs de 2 à 8 en déclarant juste avant c.Interior.ColorIndex = I + 1 la valeur de la couleur que tu désires pour aller de vert à rouge puisque la boucle de compraraison des valeurs est faite du plus petit vers le plus grand (à toi de voir)
Attention ensuite que si 2 valeurs sont strictement égales, leurs codes couleurs seront quand même différents.
Sub Macro1()
Dim plage1 As Range, plage as range
for J=2 to derniereligne
Set plage = Range(Cells(J, 1), Cells(J, 6)) Set plage1 = Range("Z1")
For I = 1 To 6
For Each c In plage If c.Interior.ColorIndex = xlNone Then Set plage1 = Union(c, plage1) End If Next
toto = Application.WorksheetFunction.Min(plage1)
For Each c In plage1 If c.Value = toto Then c.Interior.ColorIndex = I + 1 Exit For End If Next
Set plage1 = Range("Z1")
Next
next
End Sub
A+
Bonjour à tous et meilleurs voeux pour cette nouvelle année.
Voilà mon problème et j'espère qu'une solution existe, je pense que oui mais je n'ai pas trouver à ce jour
J'ai à faire un tri sur 6 cellules à l'horizontale comportant des prix et je voudrais que la cellule se colore en fonction du classement (exemple le moins cher en vert avec progression de la couleur jusqu'au Rouge pour le plus cher. Ce tri se repétant sur la totalité de la feuille environ 2500 lignes
Exemple, le tri se faisant sur les colonnes B, D, F, H, J et K
A B C D E F G H I J K L 1 86,70 ? 1 120,90 ? 1 28,50 ? 1 30,16 ? 1 45,00 ? 1 23,00 ? 1 86,70 ? 1 141,30 ? 1 35,60 ? 1 33,14 ? 1 60,00 ? 1 30,00 ? 1 110,80 ? 1 110,70 ? 1 46,50 ? 1 38,12 ? 1 60,00 ? 1 27,00 ? 1 120,50 ? 1 518,40 ? 1 32,50 ? 1 55,52 ? 1 130,00 ? 1 10,00 ? 1 127,00 ? 1 594,00 ? 1 41,50 ? 1 60,17 ? 1 150,00 ? 1 15,00 ?
En espérant la solution je vous en remercie à l'avance