Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Couleurs de l'intérieur de cercles générées par du code de boutons de commande

3 réponses
Avatar
imej-clavier
Bonjour,
Quelqu'un peut-il m'aider à résoudre mon problème ?
La couleur rouge QBColor(12) ne s'affiche que lors du deuxième clic sur le
bouton.
Que dois-je faire pour qu'il s'affiche avec les deux autres couleurs (en
même temps).
Public Sub DessinerFeu(SchémaCercle As Object)
mVarX = 4000
mVarY = 3000
mRadius = 450
SchémaCercle.Circle (mVarX, mVarY), mRadius
SchémaCercle.FillStyle = 0
SchémaCercle.FillColor = QBColor(14)
SchémaCercle.Circle (mVarX, mVarY + 1000), mRadius
SchémaCercle.FillStyle = 0
SchémaCercle.FillColor = QBColor(10)
SchémaCercle.Circle (mVarX, mVarY + 2000), mRadius
SchémaCercle.FillStyle = 0
SchémaCercle.FillColor = QBColor(12)
End Sub
D'avance merci,


Jean-michel

3 réponses

Avatar
Zoury
Salut Jean-Michel! :O)

Peux-tu nous dire d'où (dans quel contexte) tu appelles cette méthode ? Que
représente l'objet SchémaCercle (son type réel) ?

et euh... c'est moi ou tu code en VB 6 ?

--
Cordialement
Yanick
MVP pour Visual Basic
"imej-clavier" a écrit dans le message de
news:
Bonjour,
Quelqu'un peut-il m'aider à résoudre mon problème ?
La couleur rouge QBColor(12) ne s'affiche que lors du deuxième clic sur le
bouton.
Que dois-je faire pour qu'il s'affiche avec les deux autres couleurs (en
même temps).
Public Sub DessinerFeu(SchémaCercle As Object)
mVarX = 4000
mVarY = 3000
mRadius = 450
SchémaCercle.Circle (mVarX, mVarY), mRadius
SchémaCercle.FillStyle = 0
SchémaCercle.FillColor = QBColor(14)
SchémaCercle.Circle (mVarX, mVarY + 1000), mRadius
SchémaCercle.FillStyle = 0
SchémaCercle.FillColor = QBColor(10)
SchémaCercle.Circle (mVarX, mVarY + 2000), mRadius
SchémaCercle.FillStyle = 0
SchémaCercle.FillColor = QBColor(12)
End Sub
D'avance merci,


Jean-michel






Avatar
imej-clavier
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message news:
uH9S9q#
Salut Jean-Michel! :O)

Peux-tu nous dire d'où (dans quel contexte) tu appelles cette méthode ?


Que
représente l'objet SchémaCercle (son type réel) ?

et euh... c'est moi ou tu code en VB 6 ?

--
Cordialement
Yanick
MVP pour Visual Basic
"imej-clavier" a écrit dans le message de
news:
> Bonjour,
> Quelqu'un peut-il m'aider à résoudre mon problème ?
> La couleur rouge QBColor(12) ne s'affiche que lors du deuxième clic sur


le
> bouton.
> Que dois-je faire pour qu'il s'affiche avec les deux autres couleurs (en
> même temps).
> Public Sub DessinerFeu(SchémaCercle As Object)
> mVarX = 4000
> mVarY = 3000
> mRadius = 450
> SchémaCercle.Circle (mVarX, mVarY), mRadius
> SchémaCercle.FillStyle = 0
> SchémaCercle.FillColor = QBColor(14)
> SchémaCercle.Circle (mVarX, mVarY + 1000), mRadius
> SchémaCercle.FillStyle = 0
> SchémaCercle.FillColor = QBColor(10)
> SchémaCercle.Circle (mVarX, mVarY + 2000), mRadius
> SchémaCercle.FillStyle = 0
> SchémaCercle.FillColor = QBColor(12)
> End Sub
> D'avance merci,
>
>
> Jean-michel
>Merci d'avoir pris le temps de répondre à ma question qui manquait de


clarté.
SchémaCercle est une feuille VBA 6 (UserForm)
Je cherche tout simplement à remplir trois cercles en rouge, jaune et vert
après avoir déclenché
le code ci-dessus avec un CommandButton ayant pour nom DessinerFeu.
mVarX, mVarY et mRadius me serviront de propriétés dans un module de classe
que j'ai créé
ailleurs.
Peux-tu me répondre. Je ne suis qu'un amateur, aussi, souvent, des choses
m'échappent.
Merci d'avance,
Jean-michel
>
>
>




Avatar
Zoury
Salut! :O)

désolé pour le délai...

tu dois appeler SchémaCercle.Circle **après** avoir configuré la couleur et
le style de remplissage et non avant.. (tu ne devais pas avoir les couleurs
dans le bon ordre non plus ;O)

autres conseils :

- tu n'as pas besoin de modifier FillColor à tous les coups car sa valeur ne
change
- utiliser les constantes au lieu d'un chiffre direct, c'est plus clair (ex
: vbFSSolid pour le FillStyle au lieu de 0).
- déclarer mVarX, mVarY et mRadius globalement seulement si tu ne les
utilises pas ailleurs..
- évite les accents dans tes noms de variable (SchémaCercle -> SchemaCercle)
- utiliser les constantes de couleur VB au lieu de la méthode QBColor() si
l'équivalent existe, sinon créer toi une constante (plus rapide et plus
clair)

ex :
'***
Option Explicit

Public Sub DessinerFeu(SchemaCercle As Object)

Dim nVarX As Long
Dim nVarY As Long
Dim nRadius As Long
Const vbLightYellow As Long = &HFFFF& ' Hex$(QBColor(14))
Const vbLightGreen As Long = &HFF00& ' Hex$(QBColor(10))
Const vbLightRed As Long = &HFF& ' Hex$(QBColor(12))

nVarX = 4000
nVarY = 3000
nRadius = 450

SchemaCercle.FillStyle = vbFSSolid

SchemaCercle.FillColor = vbLightYellow
SchemaCercle.Circle (nVarX, nVarY), nRadius

SchemaCercle.FillColor = QBColor(10)
SchemaCercle.Circle (nVarX, nVarY + 1000), nRadius

SchemaCercle.FillColor = vbLightRed
SchemaCercle.Circle (nVarX, nVarY + 2000), nRadius

End Sub

Private Sub Command1_Click()
Call DessinerFeu(Me)
End Sub
'***

--
Cordialement
Yanick
MVP pour Visual Basic

"imej-clavier" a écrit dans le message de
news:ePNf6zA%

"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message news:
uH9S9q#
> Salut Jean-Michel! :O)
>
> Peux-tu nous dire d'où (dans quel contexte) tu appelles cette méthode ?
Que
> représente l'objet SchémaCercle (son type réel) ?
>
> et euh... c'est moi ou tu code en VB 6 ?
>
> --
> Cordialement
> Yanick
> MVP pour Visual Basic
> "imej-clavier" a écrit dans le message de
> news:
> > Bonjour,
> > Quelqu'un peut-il m'aider à résoudre mon problème ?
> > La couleur rouge QBColor(12) ne s'affiche que lors du deuxième clic


sur
le
> > bouton.
> > Que dois-je faire pour qu'il s'affiche avec les deux autres couleurs


(en
> > même temps).
> > Public Sub DessinerFeu(SchémaCercle As Object)
> > mVarX = 4000
> > mVarY = 3000
> > mRadius = 450
> > SchémaCercle.Circle (mVarX, mVarY), mRadius
> > SchémaCercle.FillStyle = 0
> > SchémaCercle.FillColor = QBColor(14)
> > SchémaCercle.Circle (mVarX, mVarY + 1000), mRadius
> > SchémaCercle.FillStyle = 0
> > SchémaCercle.FillColor = QBColor(10)
> > SchémaCercle.Circle (mVarX, mVarY + 2000), mRadius
> > SchémaCercle.FillStyle = 0
> > SchémaCercle.FillColor = QBColor(12)
> > End Sub
> > D'avance merci,
> >
> >
> > Jean-michel
> >Merci d'avoir pris le temps de répondre à ma question qui manquait de
clarté.
SchémaCercle est une feuille VBA 6 (UserForm)
Je cherche tout simplement à remplir trois cercles en rouge, jaune et vert
après avoir déclenché
le code ci-dessus avec un CommandButton ayant pour nom DessinerFeu.
mVarX, mVarY et mRadius me serviront de propriétés dans un module de


classe
que j'ai créé
ailleurs.
Peux-tu me répondre. Je ne suis qu'un amateur, aussi, souvent, des choses
m'échappent.
Merci d'avance,
Jean-michel
> >
> >
> >
>
>