IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[VBS/VBA] Obtenir la couleur d'une cellule Excel


Sujet :

VBScript

  1. #1
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut [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 : 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

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je viens d'essayer avec font à la place d'interior : -> Pas mieux

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 15
    Points : 23
    Points
    23
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetXlsValue = Feuille.Range(Str_CaseRecup).Interior.ColorIndex
    Ta fonction ne s'appelerait pas plutot GetXlsColor ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetXlsColor = Feuille.Range(Str_CaseRecup).Interior.ColorIndex
    Cdt,
    Eric

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Des fois je suis un

    Bon bah on vois à partir de quelle modele de fonction j'ai construit celle-ci.

    J'avais beau lire mon code, je ne voyais pas l'erreur !!!!

    Comme le relecture par des paires est efficace

    Merci en tout cas, cela marche maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec la couleur d'une cellule Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/11/2013, 16h35
  2. recuperer la couleur d'une cellule VBA
    Par fernier dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/07/2008, 11h46
  3. Réponses: 5
    Dernier message: 11/07/2007, 12h15
  4. [VBA-E]Faire varier la couleur d'une cellule
    Par benoue dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 24/03/2006, 16h38
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo