![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: juin 2008
Version Excel : Excel 2003 (PC)
Messages: 1
|
Bonjour le Forum!
Actuellement en stage en entreprise je travaille en partie sur des graphiques avec Excel 2003. Mon travail consiste à modifier la présentation des graphiques, à les rendre plus souples, évolutifs. J'ai découvert ce forum au cours de mes recherches concernant Excel, et je me suis rapidement intéressé aux macros avec Visual Basic et aux possibilités qu'elles offraient. ![]() Ce forum est vraiment très riche en astuces, conseils et j'y ai trouvé de bons exemples de macros à adapter à mes besoins, notamment concernant des "CheckBox" (elles sont peut être à améliorer au niveau de la rédaction du code). Débutant sur Visual Basic je ne connais pas bien le langage utilisé mais je commence à avoir quelques notions. Je suis actuellement bloqué au niveau d'une macro utilisant l'évènement souris "MouseMove". J'ai essayé d'adapter à mon graphique une macro de Laurent Longre, macro qui fonctionne avec une série de données et dont j'ai joint le fichier. Lorsque je pointe le curseur de la souris sur le graphique, cette macro me permet de voir les coordonnées du point ainsi que plusieurs autres informations le concernant, situées sur la même ligne du tableau. Mais le problème est que, dans mon cas, cela marche avec la première série du tableau, la seconde et la dernière. Par contre cela ne marche pas pour le reste. N'ayant pas les compétences pour déchiffrer entièrement le code, je ne trouve pas la solution à mon problème. J'ai 15 séries de données sur mon graphique.Voici le code de la macro que j'utilise, certains pourront certainement m'aider sans devoir télécharger les pièces jointes; le code est déclaré dans un module de classe: Private Sub Graph_MouseMove(ByVal Button As Long, _ ByVal Shift As Long, ByVal x As Long, ByVal y As Long) Dim ElementID As Long, SeriesIndex As Long, PointIndex As Long Dim S As Series, I As Integer, J As Integer, Form As String Dim CellX As Range, CellY As Range Graph.GetChartElement x, y, ElementID, SeriesIndex, PointIndex If ElementID = xlSeries Then Form = Graph.SeriesCollection(SeriesIndex).Formula I = InStr(1, Form, ",") + 1 J = InStr(I, Form, ",") + 1 Set CellX = Range(Mid$(Form, I, J - I - 1))(PointIndex) Set CellY = Range(Mid$(Form, J, InStr(J, Form, ",") - J))(PointIndex)[/color] Application.StatusBar = "Nom Prénom: " & CellX(1, -4) & " | Responsable: " & CellX(1, -5) & " | JA: " & Format(CellX(1, -3), "####0.O") & " | AFF: " _ & Format(CellX(1, 0), "####0.00") & " | CLO: " & Format(CellX, "###0.00") Else: Application.StatusBar = False End If End Sub Il semble que le problème vienne de la partie du code que j'ai mis en rouge mais je ne suis pas sûr. Pouvez-vous m'aider? Merci par avance. Dernière modification par iwarren ; 06/07/2008 à 19h22. Motif: Ajout du code vba |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Comment utiliser MouseMove | Startus | Forum Excel | 10 | 07/09/2006 10h56 |
| Combo+MouseMove | Fanfan68 | Forum Excel | 2 | 19/06/2006 09h32 |
| 'Mousemove' sur une feuille ??? | Eric D | Forum Excel | 2 | 21/04/2006 08h31 |
| MouseMove sur image est ce possible? | zeltron | Forum Excel | 1 | 18/01/2006 14h40 |
| MouseMove sur un graphique | cipango | Forum Excel Downloads - Archives | 13 | 23/05/2003 11h28 |