Salut Pforet,
J'ai fait des recherches mais la difficulté réside en la récupération de l'index de la couleur choisit, pour montrer la boite de Dial ce n'est pas sorcier, mais ensuite çà se corse.
Test = Application.Dialogs(xlDialogColorPalette).Show
Test = Application.Dialogs(xlDialogPatterns).Show
Non finalement je ne peux te proposer que la solution du grand Laurent Longre mais qui fait appelle à une API, donc attention, sur WIN et XL2000 pas de soucis, par contre XP aucune idée...
Option Explicit
Type udtCColor
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 Long
End Type
Declare Function ChooseColorA Lib "Comdlg32" _
(lpChooseColor As udtCColor) As Long
Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As Any, ByVal lpWindowName As String) As Long
Function SélCouleur(Code_RVB) As Boolean
Dim CColor As udtCColor
Dim CustColors As String * 16
With CColor
.lStructSize = 36
.hwndOwner = FindWindowA(0&, Application.Caption)
.lpCustColors = CustColors
.Flags = 2
End With
If ChooseColorA(CColor) = 0 Then Exit Function
Code_RVB = CColor.rgbResult
SélCouleur = True
End Function
Sub Test()
Dim Code_RVB As Long
If Not SélCouleur(Code_RVB) Then Exit Sub
MsgBox "Code RVB de la couleur choisie : " & Code_RVB
End Sub
Sinon sur le site de J.Walk, une démo pour faire un UserForm qui reproduira la DialogBox d'XL et donc sans API... (ce qui est préférable)
http://j-walk.com/ss/excel/tips/tip49.htm
Voilà si çà peut convenir
@+Thierry