OVH Cloud OVH Cloud

Format conditionelles

17 réponses
Avatar
Apitos
Bonsoir,

Comment puis-je avoir des couleurs selon des dates du mois avec les
formats conditionnelles ?

Merci d'avance.

10 réponses

1 2
Avatar
Ricky
Bonjour *Apitos*

Une couleur par jour ?
La mise en forme conditionnelle ne propose que 3 conditions donc 4 couleurs. Il faudra passer par VBA

| Bonsoir,
|
| Comment puis-je avoir des couleurs selon des dates du mois avec les
| formats conditionnelles ?
|
| Merci d'avance.

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
Apitos
Et comment realiser cette idée en VBA ?
Avatar
Francois L
Et comment realiser cette idée en VBA ?



Bonsoir,

A mettre dans une feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not IsDate(Target.Value) Then
Exit Sub
End If
With Target.Interior
Select Case Weekday(Target.Value)
Case Is = 1
.ColorIndex = 5
Case Is = 2
.ColorIndex = 3
Case Is = 3
.ColorIndex = 12
Case Is = 4
.ColorIndex = 6
Case Is = 5
.ColorIndex = 43
Case Is = 6
.ColorIndex = 9
Case Is = 7
.ColorIndex = 14
End Select
End With
End Sub

Les dates seront coloriées selon le jour de la semaine qu'elles
représentent (Lundi, Mardi, etc.)

--
François L

Avatar
Apitos
Merci Francois L.

Mais comment faire pour que toute la ligne d'une date soit coloriée ?

Merci.
Avatar
Francois L
Merci Francois L.

Mais comment faire pour que toute la ligne d'une date soit coloriée ?

Merci.



Bonsoir,

Tu remplaces

With Target.Interior

par

With Target.EntireRow.Interior

--
François L

Avatar
Apitos
Je m'excuse mais je voulais seulement les lignes de mon tableau et non
la ligne de la feuuille complete ...

et puis une petite question :

pourquoi, parfois le coloriage fonctionne, et parfois ne fonctionne que
si je ferme tout mes fichiers excel ouvert, et le redemarrage à
nouveau le fichier de coloriage ?

Merci.
Avatar
Francois L
Je m'excuse mais je voulais seulement les lignes de mon tableau et non
la ligne de la feuuille complete ...



Re,

Si le tableau s'étend des colonnes B à G par exemple, le With devient
With Range("B" & Target.Row, "G" & Target.Row).Interior


et puis une petite question :

pourquoi, parfois le coloriage fonctionne, et parfois ne fonctionne que
si je ferme tout mes fichiers excel ouvert, et le redemarrage à
nouveau le fichier de coloriage ?


Je ne vois pas, le code ne s'applique qu'à une feuille de travail...
mais je ne suis pas un gourou de VBA et d'Excel

--
François L

Avatar
Apitos
Un grand merci pour ton aide Francois.
Avatar
Apitos
Bonsoir,

j'aimerias avoir de l'aide.

Premierement j'ai placé le code dans l'evenement
Worksheet_SelectionChange de la feuille parce qu'il ne fonctionnait pas
dans l'evenement Worsheet_Change qui à deja du code.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Si on se positionne sur une ligne qui a pour valeur de la colonne A
qui n'est pas une date
' alors la couleur est blanche

If Not IsDate(Target.Range("A" & Target.Row).Value) Then
Range("A" & Target.Row, "F" & Target.Row).Interior.ColorIndex = 0
Exit Sub
End If
With Range("A" & Target.Row, "F" & Target.Row).Interior
Select Case Weekday(Target.Value)
Case Is = 1
.ColorIndex = 27
Case Is = 2
.ColorIndex = 45
Case Is = 3
.ColorIndex = 33
Case Is = 4
.ColorIndex = 40
Case Is = 5
.ColorIndex = 19
Case Is = 6
.ColorIndex = 44
Case Is = 7
.ColorIndex = 35
End Select
End With

Bon je voulais apporté quelques modifications sur le code mais je
n'arrive pas.

- J'ai ajouté cette condition :

If Not IsDate(Target.Range("A" & Target.Row).Value) Then
Range("A" & Target.Row, "F" & Target.Row).Interior.ColorIndex = 0
Exit Sub

pour colorier la ligne en blanc si la colonne A en cette position n'est
pas une date.

- Et puis j'aimerias que, quand le curseur quitte la cellule dont
laquelle est saisie la date dans la colonne A, la ligne correspondante
sera automatiquement coloriée.

Bon voila, et merci d'avance de votre aide.
Avatar
Francois L
Bonsoir,

j'aimerias avoir de l'aide.


Re,

Premierement j'ai placé le code dans l'evenement
Worksheet_SelectionChange de la feuille parce qu'il ne fonctionnait pas
dans l'evenement Worsheet_Change qui à deja du code.


Le problème c'est que ces deux évènements sont différents notamment
parce que avec SelectionChange Target est la nouvelle plage sélectionnée
et non pas celle qui vient d'être modifiée. Il faudrait donc voir si ce
qui est déjà dans le Change est compatible avec la mise en forme



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Si on se positionne sur une ligne qui a pour valeur de la colonne A
qui n'est pas une date
' alors la couleur est blanche

If Not IsDate(Target.Range("A" & Target.Row).Value) Then
Range("A" & Target.Row, "F" & Target.Row).Interior.ColorIndex = 0
Exit Sub
End If


A remplacer par
If Not IsDate(Target) Then
Range("A" & Target.Row, "F" & Target.Row).Interior.ColorIndex = 0
Exit Sub
End If



- Et puis j'aimerias que, quand le curseur quitte la cellule dont
laquelle est saisie la date dans la colonne A, la ligne correspondante
sera automatiquement coloriée.




Revenir à l'évènement Change...

--
François L

1 2