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

Code pour selectionner/formater les valeurs identiques dans un etat ? SUITE : METHODE CIRCLE ? COMMENT FAIRE ,

1 réponse
Avatar
valere1966
Bonjour

Tout d'abord un grand merci =E0 Pierre (3 Stone) et Michel pour leur
aide tr=E8s precieuse.

Je viens d'appliquer le code =E0 mon etat, et c'est exactement ce que je
voulais faire;
le code qui prend en compte le changement de colonne est parfait, il
selectionne bien les numeros ressortis de chaque dernier tirage et les
formate en rouge.

J'utilise dans un autre =E9tat de la m=EAme base le code suivant dans
l'evenement sur impression pour entourer les donn=E9es d'un ovale au
lieu de les formater en couleur :

Dim sngHCtr As Single, sngVCtr As Single
Dim sngRadius As Single

'Position et dimensions du cercle.
sngHCtr =3D (Me.ScaleWidth / 2) - 120
sngVCtr =3D (Me.ScaleHeight / 2) - 20
sngRadius =3D Me.ScaleHeight / 1.5

'Sous condition dessine un cercle; le dernier argument d=E9finit le
rapport hauteur/largeur.
If Me.N1.Value >=3D 10 Then


Me.Circle (sngHCtr, sngVCtr), sngRadius, , , , 0.5
End If

La methode circle permet d'entourer les donn=E9es de mani=E8re plus
esthetique, seulement dans le cas present, elle ne selectionne que les
valeurs >=3D10 ou tout autre numero specifie.
J'aimerais appliquer votre code =E0 la methode circle, c'est =E0 dire
entourer les donn=E9es de la meme maniere que dans votre procedure avec
prise en charge des colonnes au lieu de les formater en rouge.C'est l=E0
un bon d=E9fi que je sais etre realisable, mais malheureusement je
n'arrive pas =E0 le realiser seul.

Apr=E8s divers essais infructueux j'ose m'en remettre =E0 nouveau =E0 votre
aide.
Comment faire ? Par quoi faut il remplacer

Me!N1.BackColor =3D IIf(InStr(1, sLoto, " " & N1 & " ") > 0, Rouge,
Blanc)

de votre code pour specifier l'argument de la methode circle ?
ou faut il carrement utiliser une autre approche ?

Je precise que j'aimerais utiliser ce code dans de nombreux etats,
aussi votre aide est elle encore plus precieuse sans vouloir abuser de
votre gentillesse =E0 tous.

Merci d'avance
Cordialement

1 réponse

Avatar
Michel__D
Bonjour,

Pour ta demande initiale tu aurais pu utiliser cette façon de faire :

Couleur = Blanc
If InStr(1, sLoto, " " & N1 & " ") > 0 Then Couleur = Rouge
Me!N1.BackColor = Couleur
Couleur = Blanc
If InStr(1, sLoto, " " & N2 & " ") > 0 Then Couleur = Rouge
Me!N2.BackColor = Couleur
...

Cela ne devrait pas être trop difficile d'adapter cette façon de procéder
à ta nouvelle demande


a écrit dans le message de news:
Bonjour

Tout d'abord un grand merci à Pierre (3 Stone) et Michel pour leur
aide très precieuse.

Je viens d'appliquer le code à mon etat, et c'est exactement ce que je
voulais faire;
le code qui prend en compte le changement de colonne est parfait, il
selectionne bien les numeros ressortis de chaque dernier tirage et les
formate en rouge.

J'utilise dans un autre état de la même base le code suivant dans
l'evenement sur impression pour entourer les données d'un ovale au
lieu de les formater en couleur :

Dim sngHCtr As Single, sngVCtr As Single
Dim sngRadius As Single

'Position et dimensions du cercle.
sngHCtr = (Me.ScaleWidth / 2) - 120
sngVCtr = (Me.ScaleHeight / 2) - 20
sngRadius = Me.ScaleHeight / 1.5

'Sous condition dessine un cercle; le dernier argument définit le
rapport hauteur/largeur.
If Me.N1.Value >= 10 Then


Me.Circle (sngHCtr, sngVCtr), sngRadius, , , , 0.5
End If

La methode circle permet d'entourer les données de manière plus
esthetique, seulement dans le cas present, elle ne selectionne que les
valeurs > ou tout autre numero specifie.
J'aimerais appliquer votre code à la methode circle, c'est à dire
entourer les données de la meme maniere que dans votre procedure avec
prise en charge des colonnes au lieu de les formater en rouge.C'est là
un bon défi que je sais etre realisable, mais malheureusement je
n'arrive pas à le realiser seul.

Après divers essais infructueux j'ose m'en remettre à nouveau à votre
aide.
Comment faire ? Par quoi faut il remplacer

Me!N1.BackColor = IIf(InStr(1, sLoto, " " & N1 & " ") > 0, Rouge,
Blanc)

de votre code pour specifier l'argument de la methode circle ?
ou faut il carrement utiliser une autre approche ?

Je precise que j'aimerais utiliser ce code dans de nombreux etats,
aussi votre aide est elle encore plus precieuse sans vouloir abuser de
votre gentillesse à tous.

Merci d'avance
Cordialement