Ajouter une barre sur un nuage de point
Résolu
swarmill
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Ajouter une barre sur un nuage de point
- Point de suite word - Guide
- Comment inserer une video dans un power point - Guide
- Point de restauration - Guide
- Ajouter une signature sur word - Guide
- Impossible d'ajouter un ami sur facebook - Guide
9 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, je ne comprends pas "je dois mettre 180 sur le code".
utilises-tu Excel?
utilises-tu Excel?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, quand tu utilises AddConnector, les positions que tu spécifies n'ont rien à voir avec les valeurs en abscisse et en ordonnée, ce sont des positions en points dans la zone de graphe.
plutôt que de manipuler le graphe comme un dessin, je suggère plutôt, soit de te limiter à ce que Excel te permet de faire avec un graphe, soit de faire le dessin complet par programme, sans utiliser le graphe de Excel.
plutôt que de manipuler le graphe comme un dessin, je suggère plutôt, soit de te limiter à ce que Excel te permet de faire avec un graphe, soit de faire le dessin complet par programme, sans utiliser le graphe de Excel.
Bonjour,
Tout d'abord merci de votre aide yg_be.
par exemple, pour mettre une barre sur la valeur 28 en abscisse je dois écrire
ActiveChart.Shapes.AddConnector(msoConnectorStraight, 285, 31, 285, 173).Select
La valeur 285 me permettant de placer la barre sur la valeur 28... soit vraiment rien à voir...
Je dois tout automatiser par programme, si jamais quelqu'un saurait comment programmer l'ajout d'une barre selon les valeurs en abscisses ça serait parfait !
Tout d'abord merci de votre aide yg_be.
par exemple, pour mettre une barre sur la valeur 28 en abscisse je dois écrire
ActiveChart.Shapes.AddConnector(msoConnectorStraight, 285, 31, 285, 173).Select
La valeur 285 me permettant de placer la barre sur la valeur 28... soit vraiment rien à voir...
Je dois tout automatiser par programme, si jamais quelqu'un saurait comment programmer l'ajout d'une barre selon les valeurs en abscisses ça serait parfait !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
' coordonnées du point median
X2 = .SeriesCollection(2).XValues
Y2 = .SeriesCollection(2).Values
xm = X2(UBound(X2))
ym = Y2(UBound(Y2))
X2 et Y2 sont les données source (tableaux à une seule case) de la série 2 (point médian)
xm est ym sont les coordonnées du point median que l'on récupère comme dernières cases (UBound) de X2 et de Y2
qui serviront à définir les données sources des deux barres (définies par deux points)
- la verticale qui aura comme XValues {xm,xm} et comme Values {minY,maxY}
- l'horizontale qui aura comme XValues {minX,maxX} et comme Values {ym,ym}
Ce que tu peux constater et regardant les données sources du point médian et de ces deux barres
Cdlmnt
X2 = .SeriesCollection(2).XValues
Y2 = .SeriesCollection(2).Values
xm = X2(UBound(X2))
ym = Y2(UBound(Y2))
X2 et Y2 sont les données source (tableaux à une seule case) de la série 2 (point médian)
xm est ym sont les coordonnées du point median que l'on récupère comme dernières cases (UBound) de X2 et de Y2
qui serviront à définir les données sources des deux barres (définies par deux points)
- la verticale qui aura comme XValues {xm,xm} et comme Values {minY,maxY}
- l'horizontale qui aura comme XValues {minX,maxX} et comme Values {ym,ym}
Ce que tu peux constater et regardant les données sources du point médian et de ces deux barres
Cdlmnt
J'ai essayé ton code mais sur mes données. Tout marche parfaitement bien jusqu'à la ligne : .seriescollection(3)=hX
Q1. As tu une troisième série dans ton graphique ?
Dans mon exemple, pour faire simple, je suis parti du principe que les 5 séries étaient déjà créées (le nuage de point, le point médian et avec n'importe quoi au départ pour les deux barres)
Q2. qui est hX ?
RQ. Ne réponds pas dans les commentaires mais avec répondre (au fond), sinon, on ne voit plus la chronologies des posts
Q1. As tu une troisième série dans ton graphique ?
Dans mon exemple, pour faire simple, je suis parti du principe que les 5 séries étaient déjà créées (le nuage de point, le point médian et avec n'importe quoi au départ pour les deux barres)
Q2. qui est hX ?
RQ. Ne réponds pas dans les commentaires mais avec répondre (au fond), sinon, on ne voit plus la chronologies des posts
Re,
Désolé je n'avais pas vu les messages ...
Grâce à ta solution ,en rajoutant Newseries je n'ai plus le message d'erreur 1004 merci beaucoup !
Cependant, il m'affiche bien les deux points pour tracer la barre verticale et l'autre horizontal. Mais il ne trace pas de trait reliant les deux comme sur ton graphique :/
désolé je début en VBA et les graphiques je galère vraiment ...
merci par avance encore !
Désolé je n'avais pas vu les messages ...
Grâce à ta solution ,en rajoutant Newseries je n'ai plus le message d'erreur 1004 merci beaucoup !
Cependant, il m'affiche bien les deux points pour tracer la barre verticale et l'autre horizontal. Mais il ne trace pas de trait reliant les deux comme sur ton graphique :/
désolé je début en VBA et les graphiques je galère vraiment ...
merci par avance encore !
Créer de toute pièce un graphique avec vba est une vraie galère, est ce vraiment indispensable dans ton cas ?
Il est beaucoup plus simple de créer et formater un graphique comme tu le souhaites et par vba, modifier ses données source
Si vba obligatoire
Tu lances l'enregistreur de macros (outils/macros/Nouvelle macro sous excel 2003 sous 2007 et plus, ça doit être dans l'onglet développeur) et tu formates ton graphique,. puis arrêter l'enregistrement (tu récupères le code dans un Module vba)
Vas y doucement (un seul truc à la fois car il y a une foule de propriétés attachées à des objets du graphique)
Bon courage
Il est beaucoup plus simple de créer et formater un graphique comme tu le souhaites et par vba, modifier ses données source
Si vba obligatoire
Tu lances l'enregistreur de macros (outils/macros/Nouvelle macro sous excel 2003 sous 2007 et plus, ça doit être dans l'onglet développeur) et tu formates ton graphique,. puis arrêter l'enregistrement (tu récupères le code dans un Module vba)
Vas y doucement (un seul truc à la fois car il y a une foule de propriétés attachées à des objets du graphique)
Bon courage
Oui c'est obligatoire, il doit être automatique en fonction de 102 médiane par année et ceci même pour les futures années. Et j'ai essayé comme tu m'as dis et donc j'ai rajouté le code :
".seriescollection(4).select
.seriescollection(4).charttype.xlXYScatterSmoothNoMarkers
mais ça ne me modifie strictement rien :/
peut-être que le problème me vient de la variable X1 : VBA me dit incompatibilité de type quand j’exécute le code ligne par ligne. Mais quand je clic sur mon bouton qui éxécute tout le code. La, aucune erreur :/
une idée ?
encore merci pour ton aide précieuse !
".seriescollection(4).select
.seriescollection(4).charttype.xlXYScatterSmoothNoMarkers
mais ça ne me modifie strictement rien :/
peut-être que le problème me vient de la variable X1 : VBA me dit incompatibilité de type quand j’exécute le code ligne par ligne. Mais quand je clic sur mon bouton qui éxécute tout le code. La, aucune erreur :/
une idée ?
encore merci pour ton aide précieuse !
Avec un nuage de points, je ne vois pas.
Par contre on peut colorier les points de chaque région d'une couleur différente
Par contre on peut colorier les points de chaque région d'une couleur différente
Merci, c'est une super idée ton code !!
petite question : à quoi sert ces 2 lignes ?
xm = X2(UBound(X2))
ym = Y2(UBound(Y2))
merci par avance !
Excel me dit : erreur 1004 : paramètre non valide
aurait tu une idée ?
merci par avance !