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

Macros et VBA Excel Discussion :

Récupérer couleur et motif d'un xlDialogPatterns [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut Récupérer couleur et motif d'un xlDialogPatterns
    Bonjour a tous,

    Je me sers d'un xlDialogPatterns qui m'ouvre une fenetre comme ceci:


    Le problème c'est que je ne trouve rien pour récupérer la couleur et motif sélectionné.

    Je ne veux pas travailler sur une cellule c'est pour cela.

    Merci pour votre aide

    Bastien

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut une solution
    bonjour

    j'ai une solution cousue main pour toi si tu veux

    se serait de créé ta palette couleur une api elle ressemble trait pour trait a celle de excel


    tout d'abord met sa dans un module standard

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Option Explicit
    Private Declare Function ChooseColorA Lib "comdlg32.dll" (pChoosecolor As tChooseColor) As Long
    Private Declare Function GetActiveWindow Lib "user32" () As Long
    Private Type tChooseColor
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        rgbResult As Long
        lpCustColors As String
        flags As Long
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As String
    End Type
     
    Function ShowColor() As Long
        Dim tColor As tChooseColor
        Dim Custcolor(16) As Long
        Dim lReturn As Long, lThisColor As Long
        Dim abytCustomColors(0 To 16 * 4 - 1) As Byte
        For lThisColor = LBound(abytCustomColors) To UBound(abytCustomColors)
            abytCustomColors(lThisColor) = 0
        Next
        tColor.lStructSize = Len(tColor)
        tColor.hwndOwner = GetActiveWindow
        tColor.hInstance = 1
     
        'Convert the custom colors to Unicode
        tColor.lpCustColors = StrConv(abytCustomColors, vbUnicode)
        tColor.flags = 0
        'Show the dialog
        If ChooseColorA(tColor) <> 0 Then
            ShowColor = tColor.rgbResult
        Else
           Exit Function
            ShowColor = -1
        End If
    End Function

    ensuite

    tu peut faire ce que tu veux car la variable contenant la couleur c'est le nom de la fonction elle même


    exemple :
    1° activecell=showcolor'inscrit le code couleur (long) dans la cellule active

    2° commandbutton1.backcolor=showcolor'change la couleur de fond du bouton

    et il yen a bien d'autre

    voila au plaisir si tu comprend pas n'hésite pas

    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    Bonjour merci beaucoup pour ton code

    Je vais le mettre en oeuvre tout à l'heure, est il possible de récuperer le motif en plus de la couleur ou pas?

    Sinon j'avais pensé comme on ne peut récupérer couleur et motif d' xlDialogPatterns , peut on activé une cellule "test" qui prendrai le motif et la couleur et à la fin du choix venir récupérer le motif de fond de cette cellule?

    Voila merci a toi encore je vais mettre en oeuvre 2-3 trucs aujourd'hui et voir ce que sa donne mais en tout cas costaud ta fonction

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    oui je pense que cette 2 eme idée est possible
    mais je vais travailler avec mon code pour la texture


    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    Bonjour,

    Ne le fais pas pour moi j'ai implémenter ma 2eme possibilité et sa fonctionne à merveille bien que sa ne soit pas le TOP

    En gros avant de lancer mon FileDialog je selectionne ma cellule test.

    et ensuite je récupère:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    activeCells.Interior.PatternColor 'numéros de la couleur du motif
    activeCells.Interior.Pattern 'numéros du Motif

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    en fait tout depend de ce que tu veux faire avec

    il faudra dans certains context transformer la cellule en image pour l'appliquer sur un bouton ou une image par exemple
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre éclairé Avatar de bastou93
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 217
    Par défaut
    Exactement moi je voulais dans un premier temps utiliser cela pour choisir un design pour chaque série d'un graphique cela fonctionne.

    Par contre si tu sais ou a une piste pour transformer une cellule en image je prends

    Merci Bastien

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

Discussions similaires

  1. Récupérer couleur d'un gradient
    Par pioupiou67290 dans le forum Général Java
    Réponses: 3
    Dernier message: 19/03/2012, 14h08
  2. [XL-2007] Récupérer couleurs automatiques de graphes
    Par Jeremou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/07/2011, 22h08
  3. récupérer couleur swing par défaut
    Par docky dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 05/06/2008, 16h32
  4. Récupérer couleur par défaut graphe
    Par mthwt dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/08/2007, 21h53
  5. récupérer couleur apparence windows
    Par 78alex78 dans le forum Delphi
    Réponses: 12
    Dernier message: 14/03/2007, 12h46

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