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

Problème de toton et macro gaffeuse

5 réponses
Avatar
garnote
Bonjour,

Cette macro essaie d'obtenir du blanc en faisant
tourner rapidement un toton sur lui-même.
Mais elle n'y arrive pas; peut-être que :
les couleurs des pointes de tarte ne sont pas
vraiment les couleurs de l'arc-en-ciel, mon ordi
ne tourne pas assez vite, ...
Que faut-il donc faire pour simuler cette
petite expérience de physique décemment ?
Voici la macro :

Sub Spectre()
'Tentative pour obtenir du blanc à partir
'des sept couleurs de l'arc-en-ciel.
'Cette macro anime un graphique en secteurs
'en le faisant tourner sur lui-même.
'Avant de téléphoner à cette macro:
'1. Sélectionnez sept cellules adjacentes sur une même colonne,
'entrez «=360/7», tapez «Ctrl+Entrée» et demandez
'un graphique en secteurs.
'2. Coloriez chaque pointe de tarte avec une couleur de
'l'arc-en-ciel (rouge,orangé,jaune,vert,bleu,indigo,violet).
'Je crois qu'il faut respecter l'ordre des couleurs (pas sûr).
'3. Format de la zone de graphique -> Motifs -> Aires: Noir.
'4. Maintenez la touche «Ctrl» enfoncée, cliquez sur le graphique,
'entrez «toton» dans la zone des noms (en haut à gauche de
'la barre de formules) et fessez sur «Entrée».
Dim ici As ChartGroup
Dim nt As Integer, dv As Integer
Dim pas As Integer, i As Integer
'Pour utiliser la propriété «FirstSliceAngle», il me semble
'que «.ChartGroups(1)» est requis.
With ActiveSheet.ChartObjects("toton").Chart.ChartGroups(1)
'Nombre de tours effectué par le toton
nt = 20
'Dernière valeur de la boucle i
dv = 360 * nt
'Saut entre deux valeurs de i (détermine la vitesse de l'animation)
'Pour faire une boucle qui s'arrête vraiment à «dv»,
'je choisis pour valeur du pas un diviseur de 360:
'1,2,3,4,5,6,8,9,10,12,15,18,20,24,30,36,40,45,60,72,90,120 ou 180.
pas = 4
'Boucle i: 0,pas,2*pas,3*pas, ... dv
For i = 0 To dv Step pas
'Sans ce doux events, pas d'animation.
DoEvents
'Angle de la première pointe de tarte par rapport à la verticale
'«Mod 360» est requis car «FirstSliceAngle» n'accepte que
'des valeurs comprises entre 0 et 360.
.FirstSliceAngle = i Mod 360
Next i
End With
'garnote, août 2005
End Sub

Et la gaffe :

Sub Déplace()
Worksheets("Monstration").Shapes("place").Visible = False
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
[F31].Select
Mise_En_Place
découpage
DoEvents
Sleep (1000)
descente4
descente3
descente2
descente1
DescenteBleue
FIN:
Worksheets("Monstration").Shapes("place").Visible = True
Application.Interactive = True
End Sub

Pour vérifier certaines choses, j'ai eu le malheur de mettre un
«Exit Sub» sous «descente4». Conséquence : sablier indélogeable.
Moi taper sur «Alt+Ctrl+Suppr» pour m'en sortir; pas très chic !
AMHA, je ne pouvais pas faire autrement.
Si c'est le cas, suis-je obligé d'enlever les
Si c'est le cas, suis-je obligé d'enlever les
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
FIN:
Application.Interactive = True
au cas ou un utilisateur écrive «Exit Sub» dans cette macro ?
À moins qu'il faille la structurer autrement ?
M'est avis qu'il faut être d'une extrême prudence avec ce
genre d'instructions, n'est-il pas ?

Serge

5 réponses

Avatar
Nicolas B.
Salut garnote,

En remplaçant le pas par 360/7, les couleurs se mélangent un peu, mais
on est loin du blanc.

A mon avis, quelque soit la rapidité d'exécution de la macro, on ne peut
pas arriver à voir blanc :
Chaque seconde la boucle s'exécute chez moi 100 fois (et je ne vois pas
de blanc). Or la fréquence de rafraîchissement de mon écran est de 75 Hz.
La limite est donc (dans mon cas) l'écran, pas la macro.

Ce qui est étonnant, c'est que à 75 Hz on ne voit plus les images
sacadées, donc pourquoi ne verrait-on pas le blanc ?


A+
Nicolas B.

Bonjour,

Cette macro essaie d'obtenir du blanc en faisant
tourner rapidement un toton sur lui-même.
Mais elle n'y arrive pas; peut-être que :
les couleurs des pointes de tarte ne sont pas
vraiment les couleurs de l'arc-en-ciel, mon ordi
ne tourne pas assez vite, ...
Que faut-il donc faire pour simuler cette
petite expérience de physique décemment ?
Voici la macro :

Sub Spectre()
'Tentative pour obtenir du blanc à partir
'des sept couleurs de l'arc-en-ciel.
'Cette macro anime un graphique en secteurs
'en le faisant tourner sur lui-même.
'Avant de téléphoner à cette macro:
'1. Sélectionnez sept cellules adjacentes sur une même colonne,
'entrez «60/7», tapez «Ctrl+Entrée» et demandez
'un graphique en secteurs.
'2. Coloriez chaque pointe de tarte avec une couleur de
'l'arc-en-ciel (rouge,orangé,jaune,vert,bleu,indigo,violet).
'Je crois qu'il faut respecter l'ordre des couleurs (pas sûr).
'3. Format de la zone de graphique -> Motifs -> Aires: Noir.
'4. Maintenez la touche «Ctrl» enfoncée, cliquez sur le graphique,
'entrez «toton» dans la zone des noms (en haut à gauche de
'la barre de formules) et fessez sur «Entrée».
Dim ici As ChartGroup
Dim nt As Integer, dv As Integer
Dim pas As Integer, i As Integer
'Pour utiliser la propriété «FirstSliceAngle», il me semble
'que «.ChartGroups(1)» est requis.
With ActiveSheet.ChartObjects("toton").Chart.ChartGroups(1)
'Nombre de tours effectué par le toton
nt = 20
'Dernière valeur de la boucle i
dv = 360 * nt
'Saut entre deux valeurs de i (détermine la vitesse de l'animation)
'Pour faire une boucle qui s'arrête vraiment à «dv»,
'je choisis pour valeur du pas un diviseur de 360:
'1,2,3,4,5,6,8,9,10,12,15,18,20,24,30,36,40,45,60,72,90,120 ou 180.
pas = 4
'Boucle i: 0,pas,2*pas,3*pas, ... dv
For i = 0 To dv Step pas
'Sans ce doux events, pas d'animation.
DoEvents
'Angle de la première pointe de tarte par rapport à la verticale
'«Mod 360» est requis car «FirstSliceAngle» n'accepte que
'des valeurs comprises entre 0 et 360.
.FirstSliceAngle = i Mod 360
Next i
End With
'garnote, août 2005
End Sub

Et la gaffe :

Sub Déplace()
Worksheets("Monstration").Shapes("place").Visible = False
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
[F31].Select
Mise_En_Place
découpage
DoEvents
Sleep (1000)
descente4
descente3
descente2
descente1
DescenteBleue
FIN:
Worksheets("Monstration").Shapes("place").Visible = True
Application.Interactive = True
End Sub

Pour vérifier certaines choses, j'ai eu le malheur de mettre un
«Exit Sub» sous «descente4». Conséquence : sablier indélogeable.
Moi taper sur «Alt+Ctrl+Suppr» pour m'en sortir; pas très chic !
AMHA, je ne pouvais pas faire autrement.
Si c'est le cas, suis-je obligé d'enlever les
Si c'est le cas, suis-je obligé d'enlever les
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
FIN:
Application.Interactive = True
au cas ou un utilisateur écrive «Exit Sub» dans cette macro ?
À moins qu'il faille la structurer autrement ?
M'est avis qu'il faut être d'une extrême prudence avec ce
genre d'instructions, n'est-il pas ?

Serge




Avatar
Modeste
Bonsour® Serge,
Je crains hélas que tu ne puisses y arriver en utilisant le systeme RGB (RVB
en français)
car tu réalises une synthèse dite "additive"
mais le le mode d'affichage du moniteur n'utilise pas le systeme RGB mais le
systeme CMJY (comme l'imprimante d'ailleurs)
et dans ce cas la synthese additive de Rouge,Vert, Bleu donne "NOIR" !!!
bien que connaissant les algorithmes de conversion RGB vers HSL et CMJY,
je ne sais comment générer ce code vers le moniteur, EXCEL n'affiche au
final que RGB.

voir quelques liens à ce sujet :
http://e.m.c.2.free.fr/classes/syntheseadditive.html
http://e.m.c.2.free.fr/classes/synthesesoustractive.html
http://nte.univ-lyon1.fr/tribollet/SiteCouleurs/CouleursCorrigees/EspaceCouleurs.html
http://www.ipt.univ-paris8.fr/~chan/colori.html#fichier
www.france-optique.org/revue/articles%202002/
Fondamentaux-6-colorimetrie.pdf
www.colorimetrie.be


PS: le lien que tu m'a fourni ne fonctionne pas !!!!
peut tu me répondre à geedee chez free point fr

@+

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042
Avatar
Nicolas B.
Salut Modeste,

mais le le mode d'affichage du moniteur n'utilise pas le systeme RGB
mais le systeme CMJY (comme l'imprimante d'ailleurs)


???
Pour l'imprimante, je suis d'accord, mais pas pour l'écran : les pixels
de l'écran ont comme composantes le rouge le vert et le bleu. L'écran
utilise bien une synthèse additive (quand tout est éteint, l'écran est
noir).
Quel intérêt aurait-on à utiliser le système RGB si ni l'écran, ni
l'imprimante s'en servaient ?


Pour approfondir le problème de garnote, j'ai créé cette petite
application :
http://perso.wanadoo.fr/nbr/57/spectre.exe

Elle affiche successivement, et très rapidement (langage compilé),
différentes couleurs de l'arc-en-ciel.
Il faut cliquer sur la form pour démarrer.
Mais impossible de voir le blanc.

Est-ce l'écran ? Ou autre chose ?


A+
Nicolas B.

Bonsour® Serge,
Je crains hélas que tu ne puisses y arriver en utilisant le systeme RGB (RVB
en français)
car tu réalises une synthèse dite "additive"
mais le le mode d'affichage du moniteur n'utilise pas le systeme RGB mais le
systeme CMJY (comme l'imprimante d'ailleurs)
et dans ce cas la synthese additive de Rouge,Vert, Bleu donne "NOIR" !!!
bien que connaissant les algorithmes de conversion RGB vers HSL et CMJY,
je ne sais comment générer ce code vers le moniteur, EXCEL n'affiche au
final que RGB.

voir quelques liens à ce sujet :
http://e.m.c.2.free.fr/classes/syntheseadditive.html
http://e.m.c.2.free.fr/classes/synthesesoustractive.html
http://nte.univ-lyon1.fr/tribollet/SiteCouleurs/CouleursCorrigees/EspaceCouleurs.html
http://www.ipt.univ-paris8.fr/~chan/colori.html#fichier
www.france-optique.org/revue/articles%202002/
Fondamentaux-6-colorimetrie.pdf
www.colorimetrie.be


PS: le lien que tu m'a fourni ne fonctionne pas !!!!
peut tu me répondre à geedee chez free point fr

@+



Avatar
Modeste
Bonsour® Nicolas B.
j'entends bien ta remarque : les pixels sont Rouge, Vert ou Bleu ;o)))
mais cela ne signifie pas que le systeme soit RGB,
n'importe quel technicien TV( ce que je ne suis pas) te parlera de
Luminance, Saturation, etc ...
pour moi cela c'est le systeme HSL ou CMY J/N
il doit y avoir un convertiseur quelquepart ?
je ne saurai te donner d'autre interprétation... :-(((
Quid des spécialistes ???

voir : http://www.engineering.uiowa.edu/~aip/Misc/ColorFAQ.html
notament ce qui est explique ci-dessous ::
http://www.engineering.uiowa.edu/~aip/Misc/ColorFAQ.html#RTFToC9
../..
Direct acquisition of luminance requires use of a very specific spectral
weighting. However, luminance can also be computed as a weighted sum of red,
green and blue components.
If three sources appear red, green and blue, and have the same radiance in
the visible spectrum, then the green will appear the brightest of the three
because the luminous efficiency function peaks in the green region of the
spectrum. The red will appear less bright, and the blue will be the darkest
of the three. As a consequence of the luminous efficiency function, all
saturated blue colours are quite dark and all saturated yellows are quite
light. If luminance is computed from red, green and blue, the coefficients
will be a function of the particular red, green and blue spectral weighting
functions employed, but the green coefficient will be quite large, the red
will have an intermediate value, and the blue coefficient will be the
smallest of the three.

Contemporary CRT phosphors are standardized in Rec. 709 [8], to be
described in section 17. The weights to compute true CIE luminance from
linear red, green and blue (indicated without prime symbols), for the Rec.
709, are these:



This computation assumes that the luminance spectral weighting can be formed
as a linear combination of the scanner curves, and assumes that the
component signals represent linear-light. Either or both of these conditions
can be relaxed to some extent depending on the application.

Some computer systems have computed brightness using (R+G+B)/3. This is at
odds with the properties of human vision, as will be discussed under What
are HSB and HLS? in section 36.

The coefficients 0.299, 0.587 and 0.114 properly computed luminance for
monitors having phosphors that were contemporary at the introduction of NTSC
television in 1953. They are still appropriate for computing video luma to
be discussed below in section 11. However, these coefficients do not
accurately compute luminance for contemporary monitors.

../..


Salut Modeste,

mais le le mode d'affichage du moniteur n'utilise pas le systeme RGB
mais le systeme CMJY (comme l'imprimante d'ailleurs)


???
Pour l'imprimante, je suis d'accord, mais pas pour l'écran : les
pixels de l'écran ont comme composantes le rouge le vert et le bleu.
L'écran utilise bien une synthèse additive (quand tout est éteint,
l'écran est noir).
Quel intérêt aurait-on à utiliser le système RGB si ni l'écran, ni
l'imprimante s'en servaient ?


Pour approfondir le problème de garnote, j'ai créé cette petite
application :
http://perso.wanadoo.fr/nbr/57/spectre.exe

Elle affiche successivement, et très rapidement (langage compilé),
différentes couleurs de l'arc-en-ciel.
Il faut cliquer sur la form pour démarrer.
Mais impossible de voir le blanc.

Est-ce l'écran ? Ou autre chose ?


A+
Nicolas B.

Bonsour® Serge,
Je crains hélas que tu ne puisses y arriver en utilisant le systeme
RGB (RVB en français)
car tu réalises une synthèse dite "additive"
mais le le mode d'affichage du moniteur n'utilise pas le systeme RGB
mais le systeme CMJY (comme l'imprimante d'ailleurs)
et dans ce cas la synthese additive de Rouge,Vert, Bleu donne "NOIR"
!!! bien que connaissant les algorithmes de conversion RGB vers HSL
et CMJY,
je ne sais comment générer ce code vers le moniteur, EXCEL n'affiche
au final que RGB.

voir quelques liens à ce sujet :
http://e.m.c.2.free.fr/classes/syntheseadditive.html
http://e.m.c.2.free.fr/classes/synthesesoustractive.html
http://nte.univ-lyon1.fr/tribollet/SiteCouleurs/CouleursCorrigees/EspaceCouleurs.html
http://www.ipt.univ-paris8.fr/~chan/colori.html#fichier
www.france-optique.org/revue/articles%202002/
Fondamentaux-6-colorimetrie.pdf
www.colorimetrie.be


PS: le lien que tu m'a fourni ne fonctionne pas !!!!
peut tu me répondre à geedee chez free point fr

@+



--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042


begin 666 Y709_RGB.gif
M1TE&.#EAY `2`( ``/___P```"'Y! $`````+ ````#D`!(```+_A(^IR^T/
MHYRTVHNSWKS[#X9=@)#B$:2-"K%3ZD;PV<Z5G>"K*>LH#XB!>$"!H$P
M)%'RS#6%S*:BF%1"M4?E5&5R7KE:[*=H):@F;M<)MY^8^?CO)TM
M@@?W`]*'J#AX1!*UX+CX8"8HJ$>X]]:5YF&9J/GDPT;Y62AIJ!-VZE;Z
MZ&=J6GG(>4*^XI;I2::^U=:]JAZ^5MH2T<QVLT1=C(R:IYZ^G;EFSUFI;-
MZ.I9>VJJBTIKJAJZWQ=# E]JP;:NL[8]^4>3SWJFRGO1UY=$O9,'BEH`2T-
MS+?O'BYUT<C)JI>02+L=,!<2(5.S))T/^;E''<,K:X9!X[,=(0,RV
M%M%(Z;,F31IXDE9,Z?.G3Q?7 $8L*?0H42+&CV*-*G2I4R;.GT*-2J(`@`A
M_PM-871H5'EP93 P,7 $```#!0H!$H-9`P!``L!````!$`"@*&
M/0*(, *"+@*(,@*(,0*(,@*(-0*8!!*#4@*&*P*(, *"+@*(-P*(,0*(-0*(
F- *8!!*#1P*&*P*(, *"+@*(, *(-P*(,@*(,0*8!!*#0@```#L`
`
end


Avatar
Nicolas B.
Ca y est, j'ai compris :-)


Il y a en effet des convertisseurs partout dans Windows :
- propriétés d'une imprimante, onglet Gestion des couleurs,
- propriétés d'affichage, onglet Paramètres, bouton Avancé, onglet
Gestion des couleurs.

Il me semblait en fait qu'il n'y avait des profils de couleurs que pour
les imprimantes. Je ne savais pas qu'il y en avait aussi pour les moniteurs.


A+
Nicolas B.

Bonsour® Nicolas B.
j'entends bien ta remarque : les pixels sont Rouge, Vert ou Bleu ;o)))
mais cela ne signifie pas que le systeme soit RGB,
n'importe quel technicien TV( ce que je ne suis pas) te parlera de
Luminance, Saturation, etc ...
pour moi cela c'est le systeme HSL ou CMY J/N
il doit y avoir un convertiseur quelquepart ?
je ne saurai te donner d'autre interprétation... :-(((
Quid des spécialistes ???

voir : http://www.engineering.uiowa.edu/~aip/Misc/ColorFAQ.html
notament ce qui est explique ci-dessous ::
http://www.engineering.uiowa.edu/~aip/Misc/ColorFAQ.html#RTFToC9
.../..
Direct acquisition of luminance requires use of a very specific spectral
weighting. However, luminance can also be computed as a weighted sum of red,
green and blue components.
If three sources appear red, green and blue, and have the same radiance in
the visible spectrum, then the green will appear the brightest of the three
because the luminous efficiency function peaks in the green region of the
spectrum. The red will appear less bright, and the blue will be the darkest
of the three. As a consequence of the luminous efficiency function, all
saturated blue colours are quite dark and all saturated yellows are quite
light. If luminance is computed from red, green and blue, the coefficients
will be a function of the particular red, green and blue spectral weighting
functions employed, but the green coefficient will be quite large, the red
will have an intermediate value, and the blue coefficient will be the
smallest of the three.

Contemporary CRT phosphors are standardized in Rec. 709 [8], to be
described in section 17. The weights to compute true CIE luminance from
linear red, green and blue (indicated without prime symbols), for the Rec.
709, are these:



This computation assumes that the luminance spectral weighting can be formed
as a linear combination of the scanner curves, and assumes that the
component signals represent linear-light. Either or both of these conditions
can be relaxed to some extent depending on the application.

Some computer systems have computed brightness using (R+G+B)/3. This is at
odds with the properties of human vision, as will be discussed under What
are HSB and HLS? in section 36.

The coefficients 0.299, 0.587 and 0.114 properly computed luminance for
monitors having phosphors that were contemporary at the introduction of NTSC
television in 1953. They are still appropriate for computing video luma to
be discussed below in section 11. However, these coefficients do not
accurately compute luminance for contemporary monitors.

.../..



Salut Modeste,


mais le le mode d'affichage du moniteur n'utilise pas le systeme RGB
mais le systeme CMJY (comme l'imprimante d'ailleurs)


???
Pour l'imprimante, je suis d'accord, mais pas pour l'écran : les
pixels de l'écran ont comme composantes le rouge le vert et le bleu.
L'écran utilise bien une synthèse additive (quand tout est éteint,
l'écran est noir).
Quel intérêt aurait-on à utiliser le système RGB si ni l'écran, ni
l'imprimante s'en servaient ?


Pour approfondir le problème de garnote, j'ai créé cette petite
application :
http://perso.wanadoo.fr/nbr/57/spectre.exe

Elle affiche successivement, et très rapidement (langage compilé),
différentes couleurs de l'arc-en-ciel.
Il faut cliquer sur la form pour démarrer.
Mais impossible de voir le blanc.

Est-ce l'écran ? Ou autre chose ?


A+
Nicolas B.