Définir des variables dans macrocommande exel

Résolu
emerj Messages postés 22 Statut Membre -  
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   -
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 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
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 22 Statut Membre
 
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 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
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