OVH Cloud OVH Cloud

mise en forme conditionnelle complexe

6 réponses
Avatar
Christophe
je tiens mes comptes sur une feuille excel, les=20
colonnes visibles sont : date, op=E9ration, type, montant,=20
d=E9bit, cr=E9dit, solde, confirm=E9.=20
l'id=E9e est de mettre les lignes en couleur ( juste sur=20
les colonnes du tableau) selon le type. Le probl=E8me est=20
que la mise en forme conditionnelle d'Excel ne permet de=20
mettre que trois conditions et il m'en faudrait quelque=20
chose comme une quinzaine.=20

J'esp=E8re que quelqu'un aura une id=E9e.=20

Merci d'avance

Christophe

6 réponses

Avatar
ChrisV
Bonjour Christophe,

Un petit exemple à adapter...
Avec la plage données nommées ici Zn
(dans la feuille de code de l'onglet concerné)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing Then
For Each c In Target
Select Case c.Value
Case 1 To 3: c.Interior.ColorIndex = 38
Case 4 To 6: c.Interior.ColorIndex = 40
Case 7 To 9: c.Interior.ColorIndex = 36
Case 10 To 12: c.Interior.ColorIndex = 35
Case 13 To 15: c.Interior.ColorIndex = 34
Case 16 To 18: c.Interior.ColorIndex = 37
Case Is >= 19: c.Interior.ColorIndex = 3
Case Else: c.Interior.ColorIndex = xlNone
End Select
Next
End If
End Sub


ChrisV


"Christophe" a écrit dans le message de
news:07df01c46e5c$19619a50$
je tiens mes comptes sur une feuille excel, les
colonnes visibles sont : date, opération, type, montant,
débit, crédit, solde, confirmé.
l'idée est de mettre les lignes en couleur ( juste sur
les colonnes du tableau) selon le type. Le problème est
que la mise en forme conditionnelle d'Excel ne permet de
mettre que trois conditions et il m'en faudrait quelque
chose comme une quinzaine.

J'espère que quelqu'un aura une idée.

Merci d'avance

Christophe
Avatar
ru-th
Salut

faute de plus amples renseignements
une procédure évenmentielle type Sub Worksheet_Change(ByVal Target As
Range)
avec un select case sur la valeur de la Target

a+
rural thierry
"Christophe" a écrit dans le message de news:
07df01c46e5c$19619a50$
je tiens mes comptes sur une feuille excel, les
colonnes visibles sont : date, opération, type, montant,
débit, crédit, solde, confirmé.
l'idée est de mettre les lignes en couleur ( juste sur
les colonnes du tableau) selon le type. Le problème est
que la mise en forme conditionnelle d'Excel ne permet de
mettre que trois conditions et il m'en faudrait quelque
chose comme une quinzaine.

J'espère que quelqu'un aura une idée.

Merci d'avance

Christophe
Avatar
Christophe
merci beaucoup pour cet exemple ;)

@++

Christophe
-----Message d'origine-----
Bonjour Christophe,

Un petit exemple à adapter...
Avec la plage données nommées ici Zn
(dans la feuille de code de l'onglet concerné)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target.Cells, Range("Zn")) Is Nothing
Then

For Each c In Target
Select Case c.Value
Case 1 To 3: c.Interior.ColorIndex = 38
Case 4 To 6: c.Interior.ColorIndex = 40
Case 7 To 9: c.Interior.ColorIndex = 36
Case 10 To 12: c.Interior.ColorIndex = 35
Case 13 To 15: c.Interior.ColorIndex = 34
Case 16 To 18: c.Interior.ColorIndex = 37
Case Is >= 19: c.Interior.ColorIndex = 3
Case Else: c.Interior.ColorIndex = xlNone
End Select
Next
End If
End Sub


ChrisV


"Christophe" a écrit dans le
message de

news:07df01c46e5c$19619a50$
je tiens mes comptes sur une feuille excel, les
colonnes visibles sont : date, opération, type, montant,
débit, crédit, solde, confirmé.
l'idée est de mettre les lignes en couleur ( juste sur
les colonnes du tableau) selon le type. Le problème est
que la mise en forme conditionnelle d'Excel ne permet de
mettre que trois conditions et il m'en faudrait quelque
chose comme une quinzaine.

J'espère que quelqu'un aura une idée.

Merci d'avance

Christophe


.



Avatar
garnote
Salut Christophe,

Voici peut-être un bon départ :
J'ai nommé «tableau» la plage contenant tes données
incluant les titres de colonnes.
date opération type ... confirmé
...
...

J'ai supposé que tes types étaient identifiés par des nombres
(ça pourrait être autre chose) et j'ai appelé cette macro.
La troisième colonne du tableau doit contenir les types.

Sub Lignes_Couleur()
Set ici = Range("tableau")
For i = 2 To ici.Rows.Count
Select Case ici(i, 3).Value
Case 1
ici.Rows(i).Interior.ColorIndex = 5
Case 2
ici.Rows(i).Interior.ColorIndex = 6
Case 3
ici.Rows(i).Interior.ColorIndex = 7
End Select
Next i
End Sub

Et bien sûr, tu peux augmenter le nombre de Case.

Serge



"Christophe" a écrit dans le message de
news:07df01c46e5c$19619a50$
je tiens mes comptes sur une feuille excel, les
colonnes visibles sont : date, opération, type, montant,
débit, crédit, solde, confirmé.
l'idée est de mettre les lignes en couleur ( juste sur
les colonnes du tableau) selon le type. Le problème est
que la mise en forme conditionnelle d'Excel ne permet de
mettre que trois conditions et il m'en faudrait quelque
chose comme une quinzaine.

J'espère que quelqu'un aura une idée.

Merci d'avance

Christophe
Avatar
AV
..... et il m'en faudrait quelque chose comme une quinzaine.


M'est avis que la chose va être illisible...
C'était ma contribution à 3 sous...!
AV

Avatar
Christophe
Merci beaucoup pour cette aide, j'ai enfin pu faire ce que
je voulais.

@ bientôt et bonne continuation.

Christophe
-----Message d'origine-----
Salut Christophe,

Voici peut-être un bon départ :
J'ai nommé «tableau» la plage contenant tes données
incluant les titres de colonnes.
date opération type ... confirmé
....
....

J'ai supposé que tes types étaient identifiés par des
nombres

(ça pourrait être autre chose) et j'ai appelé cette macro.
La troisième colonne du tableau doit contenir les types.

Sub Lignes_Couleur()
Set ici = Range("tableau")
For i = 2 To ici.Rows.Count
Select Case ici(i, 3).Value
Case 1
ici.Rows(i).Interior.ColorIndex = 5
Case 2
ici.Rows(i).Interior.ColorIndex = 6
Case 3
ici.Rows(i).Interior.ColorIndex = 7
End Select
Next i
End Sub

Et bien sûr, tu peux augmenter le nombre de Case.

Serge



"Christophe" a écrit dans le
message de

news:07df01c46e5c$19619a50$
je tiens mes comptes sur une feuille excel, les
colonnes visibles sont : date, opération, type, montant,
débit, crédit, solde, confirmé.
l'idée est de mettre les lignes en couleur ( juste sur
les colonnes du tableau) selon le type. Le problème est
que la mise en forme conditionnelle d'Excel ne permet de
mettre que trois conditions et il m'en faudrait quelque
chose comme une quinzaine.

J'espère que quelqu'un aura une idée.

Merci d'avance

Christophe


.