Couleur d'une cellule
Résolu/Fermé
yoyolc
Messages postés
4
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
18 septembre 2007
-
16 sept. 2007 à 19:17
yoyolc Messages postés 4 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 18 septembre 2007 - 18 sept. 2007 à 17:42
yoyolc Messages postés 4 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 18 septembre 2007 - 18 sept. 2007 à 17:42
A voir également:
- Couleur d'une cellule
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Verrouiller cellule excel - Guide
- La boite a couleur - Télécharger - Divers Photo & Graphisme
6 réponses
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
18 sept. 2007 à 00:02
18 sept. 2007 à 00:02
Je viens d'essayer, ça marche ici
voici ma feuille de test http://www.cijoint.fr/cij102327505726055.xls
bon courage
eric
voici ma feuille de test http://www.cijoint.fr/cij102327505726055.xls
bon courage
eric
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
16 sept. 2007 à 23:19
16 sept. 2007 à 23:19
Bonsoir,
En macro voilà ce que ça pourrait être :
La macro récupère la couleur de fond des cellules B1, C1 et D1 pour l'appliquer selon les heures
B1 C1 D1
6h-14h 14h-22h 22h-6h
(ou sinon tu fournis directement la valeur de la couleur dans la macro)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zonedest As Range
Dim H As Long
Set Zonedest = Union([B:B], [5:5], [B5:C8]) 'liste des zones ou tu veux que la macro réagisse (colonne B ou ligne 5 ou zone B5:C8)
Set Intersec = Intersect(Zonedest, Target)
If Intersec Is Nothing Then
' l'édition n'a pas eu lieu dans ces zones
Else
' l'édition a eu lieu dans ces zones
H = Hour(Now)
If H < 6 Or H >= 22 Then 'bleu
Target.Interior.ColorIndex = [D1].Interior.ColorIndex
ElseIf H >= 6 And H < 14 Then 'jaune
Target.Interior.ColorIndex = [B1].Interior.ColorIndex
Else 'vert
Target.Interior.ColorIndex = [C1].Interior.ColorIndex
End If
End If
End Sub
Sinon tu dois avoir une possiblité par le format conditionnel (mais 3 tests possible seulement)
Cdt
Eric
En macro voilà ce que ça pourrait être :
La macro récupère la couleur de fond des cellules B1, C1 et D1 pour l'appliquer selon les heures
B1 C1 D1
6h-14h 14h-22h 22h-6h
(ou sinon tu fournis directement la valeur de la couleur dans la macro)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zonedest As Range
Dim H As Long
Set Zonedest = Union([B:B], [5:5], [B5:C8]) 'liste des zones ou tu veux que la macro réagisse (colonne B ou ligne 5 ou zone B5:C8)
Set Intersec = Intersect(Zonedest, Target)
If Intersec Is Nothing Then
' l'édition n'a pas eu lieu dans ces zones
Else
' l'édition a eu lieu dans ces zones
H = Hour(Now)
If H < 6 Or H >= 22 Then 'bleu
Target.Interior.ColorIndex = [D1].Interior.ColorIndex
ElseIf H >= 6 And H < 14 Then 'jaune
Target.Interior.ColorIndex = [B1].Interior.ColorIndex
Else 'vert
Target.Interior.ColorIndex = [C1].Interior.ColorIndex
End If
End If
End Sub
Sinon tu dois avoir une possiblité par le format conditionnel (mais 3 tests possible seulement)
Cdt
Eric
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
16 sept. 2007 à 23:25
16 sept. 2007 à 23:25
petit complément : si la cellule est modifiée elle prendra la couleur de l'heure de modif.
Si tu ne le désires pas il faudrait tester sa colorindex et ne la modifier que si differente de xlColorIndexAutomatic ou xlColorIndexNone par exemple...
Si tu ne le désires pas il faudrait tester sa colorindex et ne la modifier que si differente de xlColorIndexAutomatic ou xlColorIndexNone par exemple...
yoyolc
Messages postés
4
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
18 septembre 2007
17 sept. 2007 à 00:04
17 sept. 2007 à 00:04
je vais essayer ceci
je te dirais quoi demain
ET Merci
je te dirais quoi demain
ET Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yoyolc
Messages postés
4
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
18 septembre 2007
17 sept. 2007 à 23:17
17 sept. 2007 à 23:17
J'ai une erreur a Set Intersec = Intersect(Zonedest, Target)
If Intersec Is Nothing Then
Je suis nouveau en vb excel
merci
If Intersec Is Nothing Then
Je suis nouveau en vb excel
merci
yoyolc
Messages postés
4
Date d'inscription
dimanche 16 septembre 2007
Statut
Membre
Dernière intervention
18 septembre 2007
18 sept. 2007 à 17:42
18 sept. 2007 à 17:42
Eric
IMPEC
MERCI beaucoup
IMPEC
MERCI beaucoup