[XL 2010-VBA] Données sources graphique variables
Résolu/Fermé
SpcCwb
-
Modifié par SpcCwb le 7/07/2014 à 09:48
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 17 juil. 2014 à 18:57
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 17 juil. 2014 à 18:57
A voir également:
- [XL 2010-VBA] Données sources graphique variables
- Changer carte graphique - Guide
- Clé activation office 2010 gratuit - Télécharger - Sécurité
- Graphique excel - Guide
- Telecharger word 2010 - Télécharger - Traitement de texte
- Reinstaller windows sans perte de données - Guide
2 réponses
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Modifié par skk201 le 7/07/2014 à 14:35
Modifié par skk201 le 7/07/2014 à 14:35
Sans VBA :
Tu peux utiliser la formule décaler pour définir la plage des données.
Dans ton exemple-image :
*Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utils"
Tu peux utiliser la formule décaler pour définir la plage des données.
Dans ton exemple-image :
=DECALER(D23;0;0;NBVAL($D:$D)-1;NBVAL($23:$23)-1)
*Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utils"
SpcCwb
Messages postés
65
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
26 novembre 2020
1
8 juil. 2014 à 12:44
8 juil. 2014 à 12:44
Bon, j'ai réussi à faire ce que je voulais, voici le code pour ceux qui seraient amener à avoir les mêmes difficultés.
La manip ici ne passe pas par un changement de plage de données classique.
Je supprime mon graph, j'en recréé un que je nomme comme le précédent puis je me positionne sur la première cellule de mon tableau de données (D23), et je sélectionne l'ensemble de mes données avec Ctrl+Shift vers le bas puis vers la droite. Un petit copié, un petit collé après avoir sélectionné le graphique et le tour est joué.
La manip ici ne passe pas par un changement de plage de données classique.
Je supprime mon graph, j'en recréé un que je nomme comme le précédent puis je me positionne sur la première cellule de mon tableau de données (D23), et je sélectionne l'ensemble de mes données avec Ctrl+Shift vers le bas puis vers la droite. Un petit copié, un petit collé après avoir sélectionné le graphique et le tour est joué.
Sub graph()End Sub
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.Parent.Delete 'suppression du graph
Range("E3").Select
ActiveSheet.Shapes.AddChart.Select 'insertion nouveau graph
ActiveChart.ChartType = xlColumnStacked 'type d'histogramme
ActiveChart.Axes(xlCategory).CategoryType = xlCategoryScale 'étiquettes de l'axe des abscisses
With ActiveChart
.HasTitle = True
.Parent.Name = "Graphique 2" 'changer nom du graphique pour pouvoir réutiliser la macro
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
Range("D23").Select 'sélection de ma plage de données
Range(Selection, Selection.End(xlDown)).Select 'idem
Range(Selection, Selection.End(xlToRight)).Select 'idem
Selection.Copy
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.Paste 'insérer les données copiées au graphique
Application.CutCopyMode = False
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
8 juil. 2014 à 13:16
8 juil. 2014 à 13:16
Super :) C'est comme ça qu'on progresse :)
SpcCwb
Messages postés
65
Date d'inscription
mardi 7 mai 2013
Statut
Membre
Dernière intervention
26 novembre 2020
1
8 juil. 2014 à 14:01
8 juil. 2014 à 14:01
C'est quand même bien pratique de pouvoir enregistrer les macros et de pouvoir les retravailler en direct ; )
Merci pour l'aide apportée skk201!
Merci pour l'aide apportée skk201!
7 juil. 2014 à 14:52
J'ai essayé la fonction que tu m'as donnée dans Plage de données du graphique: Fonction non valide...
Merci!
Modifié par skk201 le 7/07/2014 à 14:56
Et c'est parce que je me suis trompé il faut plutot utilsié la formule =SERIE() avec des plages nomées que tu définis avec la fonction =DECALER()
Petites explication : http://www.excelabo.net/excel/series_nommees_graphique
7 juil. 2014 à 15:24
Le hic, c'est que lorsque l'on choisi la source des données du graphique on a le choix :
- soit de sélectionner une zone entière (titre du graphique, axe X, axe Y numéro 1,2,3...) et de s'en remettre à la grâce de Dieu,
- soit on défini la source de données pour l'axe des abscisses, et ensuite on définit la source de données de chaque série Y.
J'ai essayé la première solution, ce fût un échec cuisant. La deuxième solution fonctionne avec tes formules, pour peux que je paramètre à l'avance toutes les séries Y qui pourraient être utilisées, ce qui n'est pas dans mon intention.
Je m'y prends peut être mal (sûrement même ^^), une autre idée peut être?
7 juil. 2014 à 15:53
Tu as bien suivis les étapes décrites dans le lien ?
7 juil. 2014 à 16:26
J'ai réussi à créer mesX, mesY, et mestitresY (pour les étiquettes des séries), mais pas moyen de les utiliser dans le graphique. Je m'attendais à pouvoir définir mes séries Y comme j'ai fait avec les X mais Excel ne veut pas sous prétexte qu'il ne peut y avoir plusieurs colonnes ET lignes comme source d'UNE série.