[VBS/VBA] Obtenir la couleur d'une cellule Excel
Bonjour,
Je cherche à obtenir la couleur d'une cellule excel. J'ai pensé que ce script marcherais :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Dim ExcelFile
ExcelFile = "C:\Documents and Settings\uspa8495\Desktop\IMS Test Plan v2611_revSPI.xls"
Set obj_xls = CreateObject("Excel.Application")
Set obj_File = obj_Xls.Workbooks.Open (ExcelFile)
msgbox GetXlsColor("D20","SIP Conformance ETSI 102 027", obj_File)
Function GetXlsColor(CaseExcel, Nom_feuille, obj_File) 'CaseExcel = Les coordonnés de la case à lire dans le fichier Excel.
'Nom_feuille = Le nom de la feuille du classeur Excel ou sont stockés les informations.
On Error Resume Next
Dim str_CaseRecup 'Mise en forme du nom de la case pour l'objet Range
Set Feuille = obj_File.Worksheets(Nom_feuille)
str_CaseRecup = CaseExcel & ":" & CaseExcel
GetXlsValue = Feuille.Range(Str_CaseRecup).Interior.ColorIndex
'GetXlsValue = Feuille.Range(Str_CaseRecup).Interior.Color
'Set Feuille = Nothing
If err.number <> 0 Then
'ErrorFile path, Err
End If
End Function |
Mais la msgbox ne m'affiche aucune valeur :(
J'ai un peu de mal à trouver la solution sur le net, il y a plein de page pour faire un Range.interior.ColorIndex = 4, mais peu parle du problème inverse récupérer la valeur de la couleur.
Je pensais qu'il suffirait d'un result = Range.interior.ColorIndex mais cela ne semble pas être aussi évident.
Peut être que la fonction me renvois un code hexadécimal ? Mais je ne trouve pas de page de spécification sur la fonction :(