Récupérer la couleur d'une cellule
Résolu
Xerium
Messages postés
80
Date d'inscription
Statut
Membre
Dernière intervention
-
Xerium Messages postés 80 Date d'inscription Statut Membre Dernière intervention -
Xerium Messages postés 80 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis sur un morceau de code depuis quelques temps maintenant, et ne trouvant vraiment pas de solution, je me tourne vers vous pour chercher de l'aide.
Je code une fonction qui doit renvoyer au format RGB la couleur de fond d'une cellule. La cellule en question est déterminée par la ressource (String) passée en paramètres. Voici le code que j'ai écrit pour cela :
Or, quand la fonction est appelée à l'exécution, j'obtiens l'erreur 438 - "Propriété ou méthode non gérée par cet objet".
Et quand je clique sur Débogage, l'instruction suivante est remise en cause :
c'est-à-dire l'instruction qui fait appel à la fonction.
Une piste ? Une idée ? Une explication ? Je suis preneur :)
Merci d'avance,
Je suis sur un morceau de code depuis quelques temps maintenant, et ne trouvant vraiment pas de solution, je me tourne vers vous pour chercher de l'aide.
Je code une fonction qui doit renvoyer au format RGB la couleur de fond d'une cellule. La cellule en question est déterminée par la ressource (String) passée en paramètres. Voici le code que j'ai écrit pour cela :
Public Function couleurRessource(ByVal ressource As String) Dim cellule As Range Dim ligne As Integer Set cellule = Feuil2.Range("B:B").Find(ressource, lookat:=xlWhole) If cellule Is Nothing Then couleurRessource = RGB(0, 0, 0) Else ligne = cellule.Row couleurRessource = Feuil2.Range("D" & ligne).Interior.Color End If End Function
Or, quand la fonction est appelée à l'exécution, j'obtiens l'erreur 438 - "Propriété ou méthode non gérée par cet objet".
Et quand je clique sur Débogage, l'instruction suivante est remise en cause :
Selection.ShapeRange.Fill.ForeColor.RGB = couleurRessource(ressource)
c'est-à-dire l'instruction qui fait appel à la fonction.
Une piste ? Une idée ? Une explication ? Je suis preneur :)
Merci d'avance,
A voir également:
- Excel récupérer couleur cellule sans macro
- Excel cellule couleur si condition texte - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Récupérer au terminal de fret - Forum Consommation & Internet
- Excel compter cellule couleur sans vba - Guide
- Liste déroulante excel - Guide
9 réponses
Bonjour,
Une facon de voir, il faut decoder la couleur en RGB
Bonne suite
Une facon de voir, il faut decoder la couleur en RGB
Sub test_color() Dim R As Long, G As Long, B As Long R = 0 G = 0 B = 0 'adapter a votre resource ressource = "c" x = couleurRessource(ressource, R, G, B) With Worksheets("feuil1") .Shapes("Triangle isocèle 2").Select Selection.ShapeRange.Fill.ForeColor.RGB = RGB(R, G, B) End With End Sub Public Function couleurRessource(ByVal ressource As String, R As Long, G As Long, B As Long) Dim cellule As Range Dim ligne As Integer Set cellule = Feuil2.Range("B:B").Find(ressource, lookat:=xlWhole) If Not cellule Is Nothing Then ligne = cellule.Row couleur = Feuil2.Range("D" & ligne).Interior.Color 'conversion Couleur en RGB R = Int(couleur Mod 256) G = Int((couleur Mod 65536) / 256) B = Int(couleur / 65536) End If End Function
Bonne suite