Bonjour,
Je cherche à obtenir la couleur d'une cellule excel. J'ai pensé que ce script marcherais :
Mais la msgbox ne m'affiche aucune valeur
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
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
Partager