Bonjour,

J'ai un petit probleme avec un API windows sous excel, voila cet api sert à ouvrir une fenetre de selection de couleur et retourne la valeur de la couleur selectionnée, le problème est que lorsque cette fenetre s'ouvre, la valeur par defaut est le noir apparement, et je voudrais changer cette valeur par defaut.
Commet puis je faire, voila le module, merci d'avance pour votre aide :

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
Option Explicit
 
Private Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias _
"ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
Private Type CHOOSECOLOR
    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
Public Function ShowColor(Handle As Long) As Long
    Dim cc As CHOOSECOLOR
    Dim Customcolors As String
    Dim lReturn As Long
 
    'set the structure size
    cc.lStructSize = Len(cc)
    'Set the owner
    cc.hwndOwner = Handle
    'set the custom colors (converted to Unicode)
    cc.lpCustColors = StrConv(Customcolors, vbUnicode)
    'no extra flags
    cc.flags = 0
    'DefColor = Cells(Lig2, Col2)
    'Show the 'Select Color'-dialog
    If CHOOSECOLOR(cc) <> 0 Then
        ShowColor = cc.rgbResult
        Customcolors = StrConv(cc.lpCustColors, vbFromUnicode)
    Else
        ShowColor = Cells(Lig, Col)
    End If
End Function