UN GRAPHIQUE 3D TOUT EN MOUVEMENT

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 14 août 2008 à 00:59
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 11 août 2009 à 11:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47595-un-graphique-3d-tout-en-mouvement

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
11 août 2009 à 11:19
Merci ADN56 ^^
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
7 août 2009 à 09:02
super ! original ! clair et propre. 10/10
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
22 oct. 2008 à 23:31
Salut,

ce n'est jamais tres agreable de ce prendre dans la figure des remarques sur la forme plutot que sur le fond mais que puis-je dire ?
Tu as raison pat50m! Et pour les accents... j'arrete des a present de faire le moindre effort.... et oui, au boulot je n'ai pas de droit suffisant pour changer la config d'XP(config americaine et clavier QWERTY). Donc j'abandonne meme si un text en francais sans accent et sans cedille est insuportable a la vue de certain d'entre vous.

Il partait dans la vie les mains vides, et méprisait les biens qui s'acquièrent. Pour pallier cette indigence, il ne lui restait qu'une issue: paraître (BEAUVOIR,Mém. j. fille, 1958, p.36)
pat50m Messages postés 1 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 22 octobre 2008
22 oct. 2008 à 21:58
Bonjour,
Merci de corriger les fautes d'orthographe :

Cela n'a pas été simple car c'est la première fois que je met le nez dans les classes. J'ai donc certainement fait quelques erreurs. N'hésitez pas à me les signaler.

Merci à SilkyRoad pour son tuto sur les évènements dans les graphiques.
Tutorial que vous pouvez retrouver ici : http://silkyroad.developpez.com/VBA/EvenementsGraphiques/

Merci à PCPT pour les corrections. Correction qui permettent à cette source d'être un vrai bon exemple d'utilisation de classe.

Cordialement
cs_dawee Messages postés 2 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 12 septembre 2008
12 sept. 2008 à 04:45
Salut, merci pour ta reponse!
En fait, j'ai reussi a inserer un graphique 3d surfacique 'en force' apres l'avoir cree dans un autre fichier. J'ai fait un copier coller a l'ancienne a la place de ton graphique et ca fonctionne... Je dois simplement pas forcer sur la resolution de ma surface pour le temps de calcul, mais pour le show-off c'est effectivement assez impressionnant.
Je vais parcourir le code et essayer de comprendre, merci de le commenter autant en detail et de repondre si vite, bonne journee ! [non je suis pas nocturne, je suis en chine ;) ]
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
11 sept. 2008 à 15:13
DAWEE : Non c'est une tres bonne question et la reponse est OUI !
Je suis meme en train de travailler sur le sujet. Pour faire l'essai c'est tres s'imple il te suffit de faire un clic droit dans le graphique et de choisir Graph type(type de graphique) et de choisir le graphique surfacique.
En suite tu cliques droit sur le sol(plancher) du graphique et tu ne lui mets pas de couleur ce qui aura pour effet de le faire disparaitre. Puis dans le code du module ClasseChart tu remplaces :

If GraphElevation < 0 Then GraphElevation = 0

par

If GraphElevation < -90 Then GraphElevation = -90

ce qui te permetra de le voir par dessous.

Amese toi bien^^

A+
cs_dawee Messages postés 2 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 12 septembre 2008
11 sept. 2008 à 10:05
Bonjour a tous, je me lance a poser une question, meme si avec mon niveau de competence je suis quasi-convaincu qu'elle sera hors-sujet et/ou ridicule...
Peut-on remplacer ce graphique par un graphique 3d cree a partir d'un tableau excel, par exemple un chart "surface" ?
Desole si cette question est hors de propos, merci neanmoins.
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
14 août 2008 à 21:44
Salut PCPT,

bon en faite la solution était très simple. J'ai même honte de ne pas l'avoir vu avant.:{
Il suffisait de considérer le clique comme le point zéro puis d'incrémenter les positions d'origines du graphique(avant le clique) avec les valeurs de déplacement du pointeur. Ces valeurs de déplacement sont calculées à partir du point 0(point du clique souris).

J'ai essayé sur 4 pc, sans aucun pb détecté mais hélas je n'ai pas le moyen d'essayer avec excel2000.

Concernant le codage de la classe ce n'est pas très clair encore. Pourrais-tu préciser: il faudrait attacher ton graph, ce n'est pas à ta classe d'aller vérifier le document actif

A+:)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 août 2008 à 07:17
110 t'avais le temps, j'ai aussi une barre en haut :)

peut-être récupérer le handle du graphe au mouse_down avec l'API GetFocus, puis convertir la position avec ClientToScreen

et niveau "codage de la class" (donc objet), ce n'est pas encore çà ^^.
là tu perds l'avantage de la classe, il faudrait attacher ton graph, ce n'est pas à ta classe d'aller vérifier le document actif

++ ;)
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
14 août 2008 à 03:40
Salut,

Merci ghuysmans99 !

PCPT: Oui en faite j'ai fait 2 grosses erreurs en postant: la 1ere est de ne pas avoir précisé que ce n'est pas fini. La 2eme erreur est de ne pas avoir expliqué pourquoi ce n'est pas fini.
En faite comme tu le sais et contrairement a la fonction GetCursorPos, excel donne des valeurs de position des objets, qui ce trouvent dans une feuille, non pas depuis le point haut gauche de l'écran, mais depuis le points haut gauche de la feuille. De faite je dois tenir compte de la hauteur de la barre de menu d'excel. Mon problème est de trouver sa hauteur.
Le ou les problème(s) que tu rencontres lors de l'utilisation de ce code doit être du a cela car j'ai en attendant de trouver une solution, mis des valeurs fixes. C'est valeur sont 25 en x et 110 en y. Evidemment elle sont approximative.

Donc promis je vais revoir tout ça, ainsi que les fautes de grammaire.

Et merci pour ton encouragement

A+:)
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 août 2008 à 01:06
outch c'est buggé mais y'a quelquechose à creuser :p

pourquoi buggé?
la rotation ne correspond pas réellement à l'orientation de la souris, mes premiers mouvements (sous excel2000) n'ont produit qu'un zoom
il a fallu au moins 7 8 tentatives pour réussir à faire tourner, mais pas régulier non plus. et pour cause il n'y a pas d'évaluation de distance entre le centre du graph et la distance de la souris (donc pas d'axe de rotation)

aussi, des poignées rouges apparaissent. en les sélectionnant on peut aussi tourner menant vers une sorte de wireframe, même sans shift. pas gênant, juste pour info.

quelques fautes de grammaire également

bref il y a encore de quoi faire mais c'est un très bon début, c'est visuellement attirant et assez novateur

un 8 d'encouragement ;)
++
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
14 août 2008 à 00:59
Sublime !
Et le code est tout ce qu'il y a de clair, en plus !
Rejoignez-nous