Bonjour,

Je cherche à obtenir la couleur d'une cellule excel. J'ai pensé que ce script marcherais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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