Je pose cette question sans beaucoup d'espoir, car les recherches
effectuées - et mon niveau actuel - ne m'ont pas permis de découvrir des
procédures événementielles lors de la sélection d'un objet shape.
Connaissez-vous un moyen pour détecter la sélection du n° x des shapes
d'une feille (Freeform x) ?
Le but est de modifier la couleur de cette forme lorsque celle-ci est
sélectionnée, et de la rétablir quand elle ne l'est plus.
Doux rêve ?
Merci d'avance pour tout lien, idée... etc
--
Bien amicordialement,
P. Bastard
Bonsour® michdenis avec ferveur ;o))) vous nous disiez :
Concernant ta question, j'avoue que je n'en ai pas compris tout le sens ... si tu veux bien préciser ta pensée...
;o))) un grand MERCI DENIS !!!!! tu n'as pas compris tout le sens, mais parfaitement trouvé la solution !!!! ;o)))
en l'absence de la propriété OLEFormat.Object, il ne m'était pas possible de changer la couleur de remplissage sans selectionner l'objet Shape
le contournement adopté tel que proposé par AV via l'objet "drawingobject" fonctionne tant que l'objet ne contient pas un dégradé de couleur, dans ce cas contraire la méthode drawingobjects("toto").interior.color=vbxxxx ne fonctionne pas.
petite difference notable (sans gêne pour moi) : ForeColor.SchemeColor utilise uniquement les colorindex(1-56) à l'exclusion des Color (ex: constantes Vbcolor :vbred,vbblue etc...)
encore merci...
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonsour® michdenis avec ferveur ;o))) vous nous disiez :
Concernant ta question, j'avoue que je n'en ai pas compris tout le sens
...
si tu veux bien préciser ta pensée...
;o)))
un grand MERCI DENIS !!!!!
tu n'as pas compris tout le sens, mais parfaitement trouvé la solution !!!!
;o)))
en l'absence de la propriété OLEFormat.Object, il ne m'était pas possible de
changer la couleur de remplissage sans selectionner l'objet Shape
le contournement adopté tel que proposé par AV via l'objet "drawingobject"
fonctionne tant que l'objet ne contient pas un dégradé de couleur, dans ce
cas contraire la méthode drawingobjects("toto").interior.color=vbxxxx ne
fonctionne pas.
petite difference notable (sans gêne pour moi) :
ForeColor.SchemeColor utilise uniquement les colorindex(1-56)
à l'exclusion des Color (ex: constantes Vbcolor :vbred,vbblue etc...)
encore merci...
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Bonsour® michdenis avec ferveur ;o))) vous nous disiez :
Concernant ta question, j'avoue que je n'en ai pas compris tout le sens ... si tu veux bien préciser ta pensée...
;o))) un grand MERCI DENIS !!!!! tu n'as pas compris tout le sens, mais parfaitement trouvé la solution !!!! ;o)))
en l'absence de la propriété OLEFormat.Object, il ne m'était pas possible de changer la couleur de remplissage sans selectionner l'objet Shape
le contournement adopté tel que proposé par AV via l'objet "drawingobject" fonctionne tant que l'objet ne contient pas un dégradé de couleur, dans ce cas contraire la méthode drawingobjects("toto").interior.color=vbxxxx ne fonctionne pas.
petite difference notable (sans gêne pour moi) : ForeColor.SchemeColor utilise uniquement les colorindex(1-56) à l'exclusion des Color (ex: constantes Vbcolor :vbred,vbblue etc...)
encore merci...
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
michdenis
Bonjour Modeste,
En utilisant seulement la collection DrawingObjects, il est possible de modifier la couleur des objets même s'ils ont un dégradé de couleur.
Essaie ceci sur la forme de ton choix :
With ActiveSheet With .DrawingObjects("Forme automatique 7") .ShapeRange.Fill.BackColor.SchemeColor = 5 .ShapeRange.Fill.ForeColor.SchemeColor = 25 .ShapeRange.Fill.TwoColorGradient msoGradientHorizontal, 1 End With End With
Lorsque le dégradé de couleurs a été appliqué une fois, Tu peux te contenter de modifier l'une (ForeColor) ou l'autre (BackColor) (ou les 2) des couleurs de l'objet et cela fonctionne très bien.
sub test() With ActiveSheet With .DrawingObjects("Forme automatique 7") .ShapeRange.Fill.BackColor.SchemeColor = 5 end with End with End sub
Ou sub test1() With ActiveSheet With .DrawingObjects("Forme automatique 7") .ShapeRange.Fill.ForeColor.SchemeColor = 25 end with End with End sub
Comme tu l'as mentionné dans ton message, SchemeColor ne peut prendre qu'un index de couleur allant de 0 à 56 . Les constantes couleur (sauf vbblack =0) ne peuvent pas etre utilisées.
Est-ce qu'il y avait autre chose à comprendre ?
Salutations!
"Modeste" a écrit dans le message de news: % Bonsour® michdenis avec ferveur ;o))) vous nous disiez :
Concernant ta question, j'avoue que je n'en ai pas compris tout le sens ... si tu veux bien préciser ta pensée...
;o))) un grand MERCI DENIS !!!!! tu n'as pas compris tout le sens, mais parfaitement trouvé la solution !!!! ;o)))
en l'absence de la propriété OLEFormat.Object, il ne m'était pas possible de changer la couleur de remplissage sans selectionner l'objet Shape
le contournement adopté tel que proposé par AV via l'objet "drawingobject" fonctionne tant que l'objet ne contient pas un dégradé de couleur, dans ce cas contraire la méthode drawingobjects("toto").interior.color=vbxxxx ne fonctionne pas.
petite difference notable (sans gêne pour moi) : ForeColor.SchemeColor utilise uniquement les colorindex(1-56) à l'exclusion des Color (ex: constantes Vbcolor :vbred,vbblue etc...)
encore merci...
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr
Bonjour Modeste,
En utilisant seulement la collection DrawingObjects, il est possible
de modifier la couleur des objets même s'ils ont un dégradé de couleur.
Essaie ceci sur la forme de ton choix :
With ActiveSheet
With .DrawingObjects("Forme automatique 7")
.ShapeRange.Fill.BackColor.SchemeColor = 5
.ShapeRange.Fill.ForeColor.SchemeColor = 25
.ShapeRange.Fill.TwoColorGradient msoGradientHorizontal, 1
End With
End With
Lorsque le dégradé de couleurs a été appliqué une fois, Tu peux te contenter
de modifier l'une (ForeColor) ou l'autre (BackColor) (ou les 2) des couleurs de l'objet
et cela fonctionne très bien.
sub test()
With ActiveSheet
With .DrawingObjects("Forme automatique 7")
.ShapeRange.Fill.BackColor.SchemeColor = 5
end with
End with
End sub
Ou
sub test1()
With ActiveSheet
With .DrawingObjects("Forme automatique 7")
.ShapeRange.Fill.ForeColor.SchemeColor = 25
end with
End with
End sub
Comme tu l'as mentionné dans ton message, SchemeColor ne peut prendre
qu'un index de couleur allant de 0 à 56 . Les constantes couleur (sauf vbblack =0)
ne peuvent pas etre utilisées.
Est-ce qu'il y avait autre chose à comprendre ?
Salutations!
"Modeste" <nomail@nomail.net> a écrit dans le message de news: %23JSuwm8PGHA.1728@TK2MSFTNGP11.phx.gbl...
Bonsour® michdenis avec ferveur ;o))) vous nous disiez :
Concernant ta question, j'avoue que je n'en ai pas compris tout le sens
...
si tu veux bien préciser ta pensée...
;o)))
un grand MERCI DENIS !!!!!
tu n'as pas compris tout le sens, mais parfaitement trouvé la solution !!!!
;o)))
en l'absence de la propriété OLEFormat.Object, il ne m'était pas possible de
changer la couleur de remplissage sans selectionner l'objet Shape
le contournement adopté tel que proposé par AV via l'objet "drawingobject"
fonctionne tant que l'objet ne contient pas un dégradé de couleur, dans ce
cas contraire la méthode drawingobjects("toto").interior.color=vbxxxx ne
fonctionne pas.
petite difference notable (sans gêne pour moi) :
ForeColor.SchemeColor utilise uniquement les colorindex(1-56)
à l'exclusion des Color (ex: constantes Vbcolor :vbred,vbblue etc...)
encore merci...
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
En utilisant seulement la collection DrawingObjects, il est possible de modifier la couleur des objets même s'ils ont un dégradé de couleur.
Essaie ceci sur la forme de ton choix :
With ActiveSheet With .DrawingObjects("Forme automatique 7") .ShapeRange.Fill.BackColor.SchemeColor = 5 .ShapeRange.Fill.ForeColor.SchemeColor = 25 .ShapeRange.Fill.TwoColorGradient msoGradientHorizontal, 1 End With End With
Lorsque le dégradé de couleurs a été appliqué une fois, Tu peux te contenter de modifier l'une (ForeColor) ou l'autre (BackColor) (ou les 2) des couleurs de l'objet et cela fonctionne très bien.
sub test() With ActiveSheet With .DrawingObjects("Forme automatique 7") .ShapeRange.Fill.BackColor.SchemeColor = 5 end with End with End sub
Ou sub test1() With ActiveSheet With .DrawingObjects("Forme automatique 7") .ShapeRange.Fill.ForeColor.SchemeColor = 25 end with End with End sub
Comme tu l'as mentionné dans ton message, SchemeColor ne peut prendre qu'un index de couleur allant de 0 à 56 . Les constantes couleur (sauf vbblack =0) ne peuvent pas etre utilisées.
Est-ce qu'il y avait autre chose à comprendre ?
Salutations!
"Modeste" a écrit dans le message de news: % Bonsour® michdenis avec ferveur ;o))) vous nous disiez :
Concernant ta question, j'avoue que je n'en ai pas compris tout le sens ... si tu veux bien préciser ta pensée...
;o))) un grand MERCI DENIS !!!!! tu n'as pas compris tout le sens, mais parfaitement trouvé la solution !!!! ;o)))
en l'absence de la propriété OLEFormat.Object, il ne m'était pas possible de changer la couleur de remplissage sans selectionner l'objet Shape
le contournement adopté tel que proposé par AV via l'objet "drawingobject" fonctionne tant que l'objet ne contient pas un dégradé de couleur, dans ce cas contraire la méthode drawingobjects("toto").interior.color=vbxxxx ne fonctionne pas.
petite difference notable (sans gêne pour moi) : ForeColor.SchemeColor utilise uniquement les colorindex(1-56) à l'exclusion des Color (ex: constantes Vbcolor :vbred,vbblue etc...)
encore merci...
-- ;o))) @+
Les news à la source !!! news://news.microsoft.com/microsoft.public.fr.excel et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net http://dj.joss.free.fr/faq.htm http://www.faqoe.com http://faqword.free.fr