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 :

Colorer une cellule Excel selectionnée-problème


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Colorer une cellule Excel selectionnée-problème
    Bonsoir,

    Je souhaiterais colorer une cellule active.

    Pour cela j'ai bien évidement réalisé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public OldRng As Range
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not OldRng Is Nothing Then
    OldRng.Interior.ColorIndex = xlNone
    End If
    Target.Interior.ColorIndex = 6
    Set OldRng = Target
    End Sub
    Néanmoins mes cellules sont à l'origine colorées et lorsque le sectionnement se fait mes cellules perdent leur couleur d'origine.

    Y a-t-il moyen de contourner ce problème ?

    Merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    salut

    pas certain de te comprendre totalement, mais je pense que tu veux faire ceci, dans cet ordre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private OldRng As Range, couleur As Integer
     
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not OldRng Is Nothing Then
        OldRng.Interior.ColorIndex = couleur
      End If
      Set OldRng = Target
      couleur = Target.Interior.ColorIndex
      Target.Interior.ColorIndex = 6
     
    End Sub

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Avec l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OldRng.Interior.ColorIndex = xlNone
    Tu effaces la couleur que tu viens de déposer dans la cellule.
    A+

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par babaothe Voir le message
    salut

    pas certain de te comprendre totalement, mais je pense que tu veux faire ceci, dans cet ordre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private OldRng As Range, couleur As Integer
     
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not OldRng Is Nothing Then
        OldRng.Interior.ColorIndex = couleur
      End If
      Set OldRng = Target
      couleur = Target.Interior.ColorIndex
      Target.Interior.ColorIndex = 6
     
    End Sub
    Je m'explique mieux.

    On va dire que j'ai un tableau, dans ce tableau la couleur de fond de mes cellules et par exemple bleu claire. Néanmoins, avec la formule que j'ai mis ci dessus, lorsque ma cellule selectionnée est coloré en jaune, la couleur de fond disparait lorsque je change de cellule.

    Je sais pas si j'ai reussi à être plus clair

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    salut,

    alors le code que je t'ai montré est bon

    ton seul problème résulte du fait que, tant que ta feuille est active, la variable couleur est gardée en mémoire, ainsi que la variable oldrng, ce qui fait que tu te "marches sur les pieds".

    Si tu veux éviter ce problème, il te faut :
    1) sortir du mode création pour colorer tes cellules ===>> ta variable oldring deviendra alors nothing
    2) revenir en mode exécution et tu verras que tout marche

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    merci pour les réponses.

    Et si je veux que juste ma police change de couleur.

    Par exemple la police de la cellule sélectionnée devient rouge ?

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Points : 617
    Points
    617
    Par défaut
    rigoureusement la même chose en ... changeant le mot "Interior" par le mot "Font" et la couleur 6 par la couleur 3

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    ok merci pr les reseignement

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

Discussions similaires

  1. Problème avec la couleur d'une cellule Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/11/2013, 16h35
  2. Problème de format dans une cellule excel
    Par Nodoso dans le forum VB.NET
    Réponses: 6
    Dernier message: 13/12/2009, 18h26
  3. Problème d'affichage d'une formule dans une cellule excel
    Par casho dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/07/2007, 17h58
  4. Réponses: 4
    Dernier message: 15/04/2005, 15h25
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

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