Couleur d'une cellule

Résolu
yoyolc Messages postés 4 Statut Membre -  
yoyolc Messages postés 4 Statut Membre -
Bonjour

Je voudrais faire une macro quand je rentre quelque chose dans une cellule (ex:C1 ) a une certaine heure
la cellule A1 devient jaune si je rentre quelque chose dans C1 entre 6h00 et 14h00 ou
la cellule A1 devient verte si je quelque chose dans C1 entre 14h00 et 22h00 ou
la cellule A1 devient bleu si je quelque chose dans C1 entre 22h00 et 6h00

Merci
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Je viens d'essayer, ça marche ici
    voici ma feuille de test http://www.cijoint.fr/cij102327505726055.xls
    bon courage
    eric
    1
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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...
    0
  4. yoyolc Messages postés 4 Statut Membre
     
    je vais essayer ceci
    je te dirais quoi demain
    ET Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yoyolc Messages postés 4 Statut Membre
     
    J'ai une erreur a Set Intersec = Intersect(Zonedest, Target)
    If Intersec Is Nothing Then

    Je suis nouveau en vb excel
    merci
    0
  7. yoyolc Messages postés 4 Statut Membre
     
    Eric
    IMPEC
    MERCI beaucoup
    0