Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélection motif

P

Pforet

Guest
Bonjour à tous.

Je voudrais dans une macro activer la boite de dialogue

format de cellule Motifs

et recupérer dans une variable la couleur sélectionnée.
 
@

@+Thierry

Guest
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
 
P

Pforet

Guest
salut

Grand merci
je recupère bien le code_rvb mais ce chiffre n'est pas affectable à une cellule.

Mon but et de pouvoir sélectionner 2 couleurs et de réaliser un effet listing, c'est à dire une ligne sur ayant les couleurs choisies.
Ceci bien entendu sur une zone de cellules sélectionnées
 
@

@+Thierry

Guest
Re salut Pforet,

A ce stade, je suppose que Laurent à juste récupéré le RVB tel quel, il faut juste savoir jouer avec Left/ Mid / Right pour extraire les 3 valeurs....

Disons que tel quel je n'ai plus le classeur test que j'avais fait pour ce code... Mais je pense que l'on doit y arriver...

As-tu essayé le UserForm de John ? à mon avis tu te feras mois "ch...!"

@+Thierry
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…