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 :

Recopier la couleur d'une cellule sur toute une ligne [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut Recopier la couleur d'une cellule sur toute une ligne
    Bonjour,

    Je sais fixer la couleur d'une ligne en fonction de ce que je choisi dans une liste déroulante.
    Maintenant, je souhaiterai mettre la ligne de la même couleur que la cellule dans la liste déroulante...

    Voici mon code de départ :
    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
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        'Listes deroulantes dans la colonne J
        If Not Application.Intersect(Target, Range("J:J")) Is Nothing Then
            On Error Resume Next
            Select Case Target.Value
                Case "" 'CASE vide par defaut BLANC
                    Rows(Target.Row).Interior.Color = RGB(255, 255, 255)
                Case "CASE1" 'CASE 1 BLEU CLAIR
                    Rows(Target.Row).Interior.Color = RGB(0, 175, 240)
                Case "CASE2" 'CASE 2 ROSE
                    Rows(Target.Row).Interior.Color = RGB(230, 185, 185)
            End Select
        End If
    End Sub
    Comment est-ce que je peux faire pour ne pas fixer la couleur dans le code, mais que ça recopie la couleur initiale de la cellule ?

    Si je ne suis pas claire, n'hésitez pas à me le préciser.

    Merci à tous par avance!

  2. #2
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 353
    Points : 633
    Points
    633
    Par défaut
    Bonjour,

    Qu'est ce que tu appelles "la couleur initiale de la cellule" ?

    Si tu as un fichier en exemple...

    Bertrand

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut Fichier EXCEL
    Bonjour,

    Voici un exemple en PJ.

    En fait, dans le code j'ai fixé les couleurs bleu clair et rose.
    Mon problème est que si je décide de changer ces couleurs, ça ne marche plus... donc je suppose que le plus simple est de ne pas fixer la couleur mais bien de recopier celle de la cellule en question.

    Merci par avance !
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 353
    Points : 633
    Points
    633
    Par défaut
    Bonjour,

    Une mise en forme conditionnelle me parait plus simple dans le cas présent :



    As tu besoin de coder cette instruction en VBA ?

    Bertrand

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut
    oui en effet j'avais pensé à la mise en forme conditionnelle, mais je suis obligé de passer par VBA.

    En somme, il s'agit de recopier la mise en forme de la cellule.

    Auriez-vous une idée ?

    Merci !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Points : 111
    Points
    111
    Par défaut
    Voici la solution :
    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 Not Application.Intersect(Target, Range("J:J")) Is Nothing Then
            On Error Resume Next
            Select Case Target.Value
                Case Range("B1")
                    Rows(Target.Row).Interior.Color = Range("B1").Interior.Color
                Case Range("B2")
                    Rows(Target.Row).Interior.Color = Range("B2").Interior.Color
        End If
    End Sub

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/03/2014, 15h47
  2. [XL-2007] Recopier la couleur d'un format conditionnel dans une cellule vide
    Par mich2p1 dans le forum Excel
    Réponses: 6
    Dernier message: 31/08/2011, 15h15
  3. [XL-2003] Adapter Formule qui fait référence à une cellule sur la même ligne
    Par toukii dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/06/2009, 01h25
  4. Réponses: 1
    Dernier message: 12/12/2007, 14h38
  5. [VBA-E]Couleur de cellule sur toute une ligne
    Par Kaiba dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/03/2007, 12h01

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