Récupérer la couleur d'une cellule
Résolu
Xerium
Messages postés
93
Statut
Membre
-
Xerium Messages postés 93 Statut Membre -
Xerium Messages postés 93 Statut Membre -
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