CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 20181 11 févr. 2011 à 13:27
Salut MIMIZANZAN,
*Concernant la protection: si, si on peut "gérer indépendamment" les protections du shape et du grapphique : je l'utilise dans une de mes appli (je t'ai envoyé un MP à ce sujet).
J'avoue que je n'ai pas exploré "à fond" les limites d'action sur les paramètres de la form avec une macro associée, mais a priori, puisque la form est de facto sélectionnée, je ne vois pas pourquoi on ne pourrais pas en modifier les paramètres (couleur, etc.).
Je vais creuser.
*Concernant le problème que je rencontre lors d'un déplacement vertical, il est lié à mon PC (un EeePC Asus) et uniquement en 1024x600.
Cordialement
mimiZanzan
Messages postés301Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention17 décembre 2017 10 févr. 2011 à 17:00
Salut CERBERUSPAU,
Merci pour ton commentaire.
-Concernant la protection:
*on peut protéger la feuille graphique, le code fonctionne.
*par contre, pour le graphique intégré à la feuille de calcul Feuil1, on ne peut en aucun cas protéger le graphique car il est lui-même une forme, et que les formes (ovale ou rectangle) ne peuvent plus être manipulées (même sans le code). On peut seulement protéger le contenu de la feuille avec
Feuil1.Protect DrawingObjects:=False
-Affectation macro à la forme: ne gère que l'évènement Clic qui n'informe sur aucun paramètres de la forme.
-Blocage du déplacement vertical: j'ai essayé de fenêtrer et de changer le zoom, et je n'ai pas détecté d'anomalies...Peux-tu donner un exemple précis de quand tu constates un pb?
Cordialement
CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 20181 10 févr. 2011 à 14:02
Salut mimizanzan,
C'est juste un point de détail, mais si le code peut tourner sur une feuille protégée(et le graphique aussi), ça peut être intéressant pour un utilisateur de toujours pouvoir déplacer la forme ovale sur un point particulier du graphique (pour attirer l'attention par exemple ou "pointeur" sur une présentation Excel), ce dans une feuille verrouillée, donc sans risquer "d'accrocher" ou "de modifier" tout ou partie du graphique.
Quant à ta réponse, on pourrait aussi passer par l'affectation d'une macro à la forme (Oval1_QuandClic) qui permettrait par exemple de changer de couleur (c'est vrai qu'on ne fera pas la même chose qu'avec MouseDown) ; j'ai aussi remarqué que pour un affichage fenêtré du graphique dans la feuil1 (pas visible en entier), il y a parfois un blocage du déplacement vertical (résolution d'affichage, zoom, ...? je sais pas trop) qui ne se produit pas avec un glisser-déplacer "classique". Mais bon, c'est juste des interrogations et remarques qui me viennent. Je vais creuser un peu. En tout cas merci pour ta source qui regorge de potentialités.
Cordialement.
mimiZanzan
Messages postés301Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention17 décembre 2017 8 févr. 2011 à 16:38
Pour CERBERUSPAU,
Salut,
Je ne comprends pas vraiment ce que tu entends par "protection du graphique". En tout cas le code ne fonctionne pas avec une feuille verrouillée, il faut le modifier un peu, mais je ne vois pas l'intérêt...
Par contre, pour le déplacement de l'ovale, on peut bien sûr utiliser la fonction normale de Excel. Mais on n'a pas de lien avec un code, et donc pas d'info sur le déplacement. Admettons par exemple que l'on veuille que l'ovale prenne une teinte rouge quand il survole la première barre de données: on peut obtenir ceci en ajoutant la ligne suivante dans le module de classe CChart, dans la sub mchtChart_MouseMove, à la fin du paragraphe With mchtChart.Shapes("Oval1") avant le End with:
If dXVal > tpX(1) - Lpt / 2 And dXVal < tpX(1) + Lpt / 2 And _
dYVal > tpY(1) Then .Fill.ForeColor.RGB = RGB(255, 0, 0) Else _
.Fill.ForeColor.RGB = RGB(255, 255, 255)
Cà, on ne peut pas l'obtenir autrement...
Cdt
mimiZanzan
Messages postés301Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention17 décembre 2017 8 févr. 2011 à 15:21
Pour LAW44
Salut,
Pour Excel 2007, je te signale les 2 ouvrages suivants (seulement dans la langue de Shakespeare à ma connaissance à l'heure actuelle...):
* Excel 2007 Power Programming with VBA de John Walkenbach
(Wiley Publishing, Inc.)
* Excel® 2007 VBA Programmer’s Reference de John Green,Stephen Bullen,Rob Bovey et Michael Alexander, chez Wiley aussi.
A toutes fins utile
Cdt
CerberusPau
Messages postés377Date d'inscriptionlundi 3 avril 2006StatutMembreDernière intervention22 août 20181 8 févr. 2011 à 14:36
Bonjour mimiZanZan,
C'est très intéressant!
Ce qui serait peut être un plus à ajouter, c'est la gestion de la protection du graphique :
Par exemple, que l'on puisse déplacer la forme ovale, alors que le graphique est verrouillé.
Autre chose, je ne comprend pas très bien le pourquoi du déplacement avec Shift : Un glisser-déplacer marche normalement sans le Shift... Mais j'ai peut-être mal compris cette fonction.
Cordialement
Law44
Messages postés2Date d'inscriptionlundi 14 avril 2008StatutMembreDernière intervention 8 février 2011 8 févr. 2011 à 09:59
Il est vrai qu'en français, on trouve difficillement des ouvrages de référence. Pour ma part je conseille, => dans la langue de Molière, une traduction chez EYROLLES de l'exellent livre de John Walkenbach : "VBA pour EXCEL 2003". Toutes les bases y sont même si EXCEL a un peu évolué depuis.
Tant que j'y suis, je cherche des référence concernant les éditeurs pour JAVA. J'ai installé puis abandonné ECLIPSE en version francaise, après avoir rencontré beaucoup de difficultés lors de l'installation des drivers.
11 févr. 2011 à 13:27
*Concernant la protection: si, si on peut "gérer indépendamment" les protections du shape et du grapphique : je l'utilise dans une de mes appli (je t'ai envoyé un MP à ce sujet).
J'avoue que je n'ai pas exploré "à fond" les limites d'action sur les paramètres de la form avec une macro associée, mais a priori, puisque la form est de facto sélectionnée, je ne vois pas pourquoi on ne pourrais pas en modifier les paramètres (couleur, etc.).
Je vais creuser.
*Concernant le problème que je rencontre lors d'un déplacement vertical, il est lié à mon PC (un EeePC Asus) et uniquement en 1024x600.
Cordialement
10 févr. 2011 à 17:00
Merci pour ton commentaire.
-Concernant la protection:
*on peut protéger la feuille graphique, le code fonctionne.
*par contre, pour le graphique intégré à la feuille de calcul Feuil1, on ne peut en aucun cas protéger le graphique car il est lui-même une forme, et que les formes (ovale ou rectangle) ne peuvent plus être manipulées (même sans le code). On peut seulement protéger le contenu de la feuille avec
Feuil1.Protect DrawingObjects:=False
-Affectation macro à la forme: ne gère que l'évènement Clic qui n'informe sur aucun paramètres de la forme.
-Blocage du déplacement vertical: j'ai essayé de fenêtrer et de changer le zoom, et je n'ai pas détecté d'anomalies...Peux-tu donner un exemple précis de quand tu constates un pb?
Cordialement
10 févr. 2011 à 14:02
C'est juste un point de détail, mais si le code peut tourner sur une feuille protégée(et le graphique aussi), ça peut être intéressant pour un utilisateur de toujours pouvoir déplacer la forme ovale sur un point particulier du graphique (pour attirer l'attention par exemple ou "pointeur" sur une présentation Excel), ce dans une feuille verrouillée, donc sans risquer "d'accrocher" ou "de modifier" tout ou partie du graphique.
Quant à ta réponse, on pourrait aussi passer par l'affectation d'une macro à la forme (Oval1_QuandClic) qui permettrait par exemple de changer de couleur (c'est vrai qu'on ne fera pas la même chose qu'avec MouseDown) ; j'ai aussi remarqué que pour un affichage fenêtré du graphique dans la feuil1 (pas visible en entier), il y a parfois un blocage du déplacement vertical (résolution d'affichage, zoom, ...? je sais pas trop) qui ne se produit pas avec un glisser-déplacer "classique". Mais bon, c'est juste des interrogations et remarques qui me viennent. Je vais creuser un peu. En tout cas merci pour ta source qui regorge de potentialités.
Cordialement.
8 févr. 2011 à 16:38
Salut,
Je ne comprends pas vraiment ce que tu entends par "protection du graphique". En tout cas le code ne fonctionne pas avec une feuille verrouillée, il faut le modifier un peu, mais je ne vois pas l'intérêt...
Par contre, pour le déplacement de l'ovale, on peut bien sûr utiliser la fonction normale de Excel. Mais on n'a pas de lien avec un code, et donc pas d'info sur le déplacement. Admettons par exemple que l'on veuille que l'ovale prenne une teinte rouge quand il survole la première barre de données: on peut obtenir ceci en ajoutant la ligne suivante dans le module de classe CChart, dans la sub mchtChart_MouseMove, à la fin du paragraphe With mchtChart.Shapes("Oval1") avant le End with:
If dXVal > tpX(1) - Lpt / 2 And dXVal < tpX(1) + Lpt / 2 And _
dYVal > tpY(1) Then .Fill.ForeColor.RGB = RGB(255, 0, 0) Else _
.Fill.ForeColor.RGB = RGB(255, 255, 255)
Cà, on ne peut pas l'obtenir autrement...
Cdt
8 févr. 2011 à 15:21
Salut,
Pour Excel 2007, je te signale les 2 ouvrages suivants (seulement dans la langue de Shakespeare à ma connaissance à l'heure actuelle...):
* Excel 2007 Power Programming with VBA de John Walkenbach
(Wiley Publishing, Inc.)
* Excel® 2007 VBA Programmer’s Reference de John Green,Stephen Bullen,Rob Bovey et Michael Alexander, chez Wiley aussi.
A toutes fins utile
Cdt
8 févr. 2011 à 14:36
C'est très intéressant!
Ce qui serait peut être un plus à ajouter, c'est la gestion de la protection du graphique :
Par exemple, que l'on puisse déplacer la forme ovale, alors que le graphique est verrouillé.
Autre chose, je ne comprend pas très bien le pourquoi du déplacement avec Shift : Un glisser-déplacer marche normalement sans le Shift... Mais j'ai peut-être mal compris cette fonction.
Cordialement
8 févr. 2011 à 09:59
Tant que j'y suis, je cherche des référence concernant les éditeurs pour JAVA. J'ai installé puis abandonné ECLIPSE en version francaise, après avoir rencontré beaucoup de difficultés lors de l'installation des drivers.