IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle colorisation cellule VBA [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 76
    Par défaut Boucle colorisation cellule VBA
    Bonjour,

    débutante en VBA pour Excel, je cherche un moyen de coloriser une case en fonction d'une autre case (sur la même ligne) si et seulement la première case est non vide.
    J'ai réussi à le faire pour un cas particulier (ci-dessous) mais je n'arrive pas à le généraliser à toutes les cases voulues.
    Dans l'exemple ci-dessous, dès que la case C7 est non vide elle prend la couleur de la case B7. Comment le généraliser à toutes les cases voulues ?

    De plus, si je change la couleur dans la case B7, la case C7 ne change pas automatiquement, y-a-t-il une fonction qui permet de mettre à jour la case directement dès que B7 change de couleur ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    Range("B7").Select
    tot = Selection.Interior.ColorIndex
     
    Range("C7").Select
    If (Range("C7") <> "") Then
     
        With Selection.Interior
            .ColorIndex = tot
        End With
    Else
        With Selection.Interior
            .ColorIndex = xlNone
        End With
     
    End If
     
    End Sub
    Merci d'avance,

    Bonne journée

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    A chaque changement d'une cellule de la colonne C à partir de la ligne 7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Target.Count = 1 And Target.Column = 3 And Target.Row >= 7 Then
        If Target.Value = "" Then
            Target.Interior.ColorIndex = xlNone
        Else
            Target.Interior.Color = Target.Offset(0, -1).Interior.Color
        End If
    End If
    End Sub

  3. #3
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Target.Count = 1 Then
        If (Target.Value <> "") Then
            Target.Interior.Color = Cells(Target.Row, 2).Interior.Color
        Else
            Target.Interior.Color = xlNone
        End If
    End If
     
    End Sub
    Check la colonne 2 (soit B). Si tu modifies une cellule sur la ligne en question, elle prendra la couleur de cette colonne (si tu remplis la cellule) ou rien (si tu ne la remplis pas ou si tu supprimes son contenu) !

    Bonne continuation à toi !

    EDIT : mercatog first. ^^

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 76
    Par défaut
    Bonsoir,

    merci pour vos réponses rapides.
    ça fonctionne maintenant impec, il suffit juste d'une dernière petite boucle et tout est ok

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer la couleur d'une cellule VBA
    Par fernier dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/07/2008, 11h46
  2. Verrouillages des cellules VBA
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/07/2008, 10h40
  3. Fusionner cellules VBA
    Par Go_Ahead dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 19/05/2008, 13h37
  4. boucle for en vba
    Par nb_fr31 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 16/10/2007, 18h04
  5. Création dynamique et boucle for en vba Access 2000
    Par billy123 dans le forum Access
    Réponses: 4
    Dernier message: 22/02/2007, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo