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 [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut Colorer une cellule
    Hello,

    Je suis débutant en programmation excel et je cherche comment remplir le fond d'une cellule sur la base de 3 valeurs (RGB) donné dans 3 autres cellules.

    Quelqu'un pourrait-il m'aider ?
    Thx
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    Il faudrait en savoir un peu plus car littéralement, remplir une cellule sur la base de 3 cellules donne 3 couleurs pour une cellule
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Alors a partir de trois nombres donné dans trois cellules (pour le code RGB) : 255,0,0 (255 dans A1 ; 0 dans A2 ; 0 dans A3)
    J'aimerais colorer le fond d'une autre cellule (en rouge dans l'exemple)

    ps : si la fonction existe aussi pour colorer le fond avec le code CMYK, je suis aussi interessé

    Merci
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [A1].Interior.Color = RGB([B1], [B2], [B3])

    Hervé.

  5. #5
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Merci mais en utilisant une fonction personnalisée comment faire pour que la cellule à colorer (A1 dans ton exemple) soit celle de la cellule ou la fonction est entrée.
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  6. #6
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonsoir,

    Attention, il faut bien faire la différence entre procédure et fonction, une procédure (Sub-End Sub) effectue des actions sur des objets (et bien d'autres choses mais je ne vais pas m'étendre sur le sujet), une fonction (Function-End Function) retourne une valeur ou un tableau de valeurs mais ne peut pas exécuter d'action sur des objets (dans le VBE on peut éventuellement) et dans ce cas, il n'est pas possible d'utiliser une fonction dans Excel pour colorer une ou plusieurs cellules ou toutes autres actions de ce genre. Tu peux par contre utiliser une Sub mais il te faudra la déclancher soit manuellement soit par une procédure évennementielle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Colorer(Cel As Range, _
                R As Integer, _
                G As Integer, _
                B As Integer)
     
        Cel.Interior.Color = RGB(R, G, B)
     
    End Sub
     
    Sub test()
     
        Colorer [A6], [B1], [B2], [B3]
     
    End Sub
    Hervé.

  7. #7
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Merci pour ta réponse.
    Je suis désolé de mon ignorance en la matière.

    Mais est-il possible de designer une seule cellule (celle a colorer) et ensuite, relativement à celle-ci, designer les 3 autres cellules (celles contenant le code de couleur)
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

  8. #8
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Tu n'as pas à être désolé, on ne peut pas tout savoir et moi même j'en suis à des années-lumière.
    Si j'ai bien compris, tu veux que les cellules contenant les valeurs à prendre en compte soient relatives à la cellule à colorer ? Un exemple avec Offset() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
     
        Dim CelAColorer As Range
     
        'cellule que l'on veux colorer
        Set CelAColorer = Range("A1")
     
        '.Offset(0, 2) = sur la même ligne et deux colonnes plus à droite
        '.Offset(1, 2) = une ligne plus bas et deux colonnes plus à droite
        '.Offset(2, 2) = deux lignes plus bas et deux colonnes plus à droite
        Colorer CelAColorer, CelAColorer.Offset(0, 2), CelAColorer.Offset(1, 2), CelAColorer.Offset(2, 2)
     
    End Sub
    Hervé.

  9. #9
    Membre habitué Avatar de Mat32
    Inscrit en
    Août 2009
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 243
    Points : 137
    Points
    137
    Par défaut
    Merci pour toutes vos réponses

    ça marche
    Devise Shadoks : Il vaut mieux pomper d'arrache pied même s'il ne se passe rien que de risquer qu'il se passe quelque chose de pire en ne pompant pas

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

Discussions similaires

  1. colorer une cellule de striggrid
    Par malikakika dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/06/2008, 10h31
  2. coloré une cellule d'un treeview
    Par awalter1 dans le forum GTK+ avec Python
    Réponses: 2
    Dernier message: 19/05/2008, 14h31
  3. Comment colorer une cellule d'une StringGrid
    Par Annibal dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/05/2008, 12h35
  4. Colorer une cellule précise d’une TStringGrid
    Par gilardino dans le forum Débuter
    Réponses: 1
    Dernier message: 16/04/2008, 12h10
  5. Colorer une Cellule depuis une Fonction Personnelle
    Par compte dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 18/03/2008, 19h38

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