Bonjour,

Je veux tracer un graphe dont les valeurs sont contenues dans la colonne C, de C1 a Cx, la premiere valeur est toujours en C1, la derniere dépend de l'utilisateur, je sais que le nombre de données est en NB_Jours.

Je me suis servi de l'enregistreur de macro, ceci marche bien mais le nombre de valeurs est figée, par exemple la plage $C$1:$C$20 si lors de mon enregistrement il y avait 20 valeurs, j'ai donc remplacé $C$1:$C$20 par $C$1:$C$NB_Jours dans la macro (NB_Jours est définie plus haut).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Sub Tracer_Graphe()
 
    Range("C1").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.SetSourceData Source:=Range("'Graphes'!$C$1:$C$NB_Jours")
    ActiveChart.ChartType = xlLine
 
End Sub

A l'excution, j'ai un message d'erreur "Erreur d'execution 1004", la methode 'range' de l'objet'_global' a échoué.

Ce que je ne comprends pas, c'est qu'a la suite de ce message d'erreur, si je clique sur 'Fin' et que je vais sur la feuille, le graphe est correctement traçé avec la sélection effectuée qui est bonne.

Puisque la sélection est faite par Range(Selection, Selection.End(xlDown)).Select, y a t-il un moyen de representer graphiquement cette zone autrement que par ma zone $C$1:$C$NB_Jours ?

Pourquoi Excel m'indique un message d'erreur ? alors que quand je vais sur la feuille de graphe, ce graphe est bien fait ?

Question subsidiaire :
Le graphe se positionne en milieu d'ecran, comment definir le positionnement et la taille du graphe dans la feuille ? (je voudrais en mettre plusieurs)


Merci beaucoup.