Définir des variables dans macrocommande exel

Résolu/Fermé
emerj Messages postés 20 Date d'inscription dimanche 18 juin 2006 Statut Membre Dernière intervention 30 mars 2009 - 21 mars 2009 à 13:06
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 - 22 mars 2009 à 15:17
Bonjour,

je cherche à réaliser un graph à partir d'une plage de cellules variable en nombre de ligne. A partir d'une liste de causes de 30 lignes, je classe les valeurs en ordre décroissant afin de relèguer les valeurs à 0 en fin de liste et je supprime manuellement toutes les lignes qui affichent 0, afin de ne garder que les lignes à valeur >0 pour tracer mon diagramme barre. Ceci afin de faciliter la lecture et épurer le graph.
Les causes ne sont pas identiques à chaque visualisation, et le nombre de causes ( lignes )varient à chaque etude.

J'ai fait une tentative d'enregistrement de macro via clavier mais sur la 6° ligne, il prend une rèf absolue de plage
si je rajoute une ligne à) mon tableau, elle ne figure pas sur le graph, et inversement si je supprime une ligne mon graph comporte un cause ( ligne vide)

rem, la cellule d'entrée de plage de données est fixe dans le temps (D2), le nombre de colonne est fixe (2)
seul le nombre de ligne varie.
je cherche du cote des aides microsoft, quelqu'un peut il me venir en aide ?

Range("D2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Charts.Add
ActiveChart.ChartType = xlBarClustered
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("D2:E6"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveChart.HasLegend = False
A voir également:

3 réponses

Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
21 mars 2009 à 23:25
Bonjour,
Juste au passage: je suppose que la plage de données pour le graphique est de "D2:E.variable."
La ligne de code devrait-être:
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("D2:E"& sheets("Feuil1").cells(1000,4).End(xlUp).row)
0
emerj Messages postés 20 Date d'inscription dimanche 18 juin 2006 Statut Membre Dernière intervention 30 mars 2009
21 mars 2009 à 23:56
pas mal du tout, c'est juste ce qu'il faut
merci beaucoup. J'ai passé ma journée à lire les frmatiuons en tout genre sur VBA et macro commandes excel
vous clôturez bien ce soir . encore merci

j'ai remarque que le graph dans excel prend un nom incrémenté, est il possible de figer ce nom ?
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
22 mars 2009 à 15:17
Bonjour,
Merci pour le message.
Au passage, cette expression vous donne le nom du graphique : NomGraph = ActiveSheet.ChartObjects(1).Name
et celle-ci le renomme : ActiveSheet.ChartObjects(1).Name = "Le nom du Graphique"
0