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 :

Couleur d'une cellule et d'une Forme


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut Couleur d'une cellule et d'une Forme
    Bonjour, j'ai une macro qui est censé remplir le fond d'une Shape de la même couleur que le fond d'une cellule.

    Alors j'ai mis le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.ShapeRange.Fill.ForeColor.SchemeColor = CouleurPays
    (CouleurPays étant une variable CouleurPays = ActiveCell.Interior.ColorIndex).

    Mais j'ai deux problèmes : le premier c'est que parfois il me dit que je numéro de couleur va au delà des limites autorisées (il m'affiche 4 250 par exemple). Deuxième problème c'est que lorsque je change la couleur de la cellule avec une des couleurs standards d'excel, résultat la couleur de la shape n'est pas identique à la couleur de la cellule !! Pouvez-vous m'aider ? Merci d'avance.

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour de mémoire il y a une difference de valeur de 7

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Interior.ColorIndex = 42
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.ShapeRange.Fill.ForeColor.SchemeColor =  42-7
    Verifie je regarde de mon coté

  3. #3
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Cela doit être inverse


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Interior.ColorIndex = 6
    Jaune

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
    Jaune

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour tlm,

    Une solution consiste à convertir la valeur Color de la cellule, valeur de type Long, en valeur RGB

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub conversion_couleur()
    Dim R As Integer, G As Integer, B As Integer
    Dim Couleur As Long
     
    Couleur = Range("A10").Interior.Color
     
    R = Int(Couleur Mod 256)
    G = Int((Couleur Mod 65536) / 256)
    B = Int(Couleur / 65536)
     
    ActiveSheet.Shapes("Nom").Fill.ForeColor.RGB = RGB(R, G, B)
    End Sub
    Info récupérée du tuto de SilkyRoad :
    Les couleurs en VBA Excel: Les équivalences Hex-Long-RGB
    .

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/12/2008, 09h31
  2. différencier une cellule vide d'une cellule nulle
    Par schwarzy2 dans le forum VB.NET
    Réponses: 4
    Dernier message: 02/09/2008, 13h50
  3. incrémenter une cellule jusqu'a une cellule variable
    Par derf3183 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/07/2006, 14h48
  4. Changer la couleur d'une cellule specifique d'une stringgrid
    Par jamah dans le forum Composants VCL
    Réponses: 5
    Dernier message: 26/01/2006, 17h13
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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