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 : 42
    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
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  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 : 42
    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
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  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 : 42
    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.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

+ 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