me revoila (je suis c*** voir embetant ... je sais !)
bon, je fais un graphique... jusque là pourquoi pas.
J'ai 2 questions
1/ la taille de ma zone de selection peut varier... Je ne trouve pas encore pourquoi cela ne amrche pas....
2/ je voudrais que agrandir mon graphique.
je m'explique : j'ai fais une page avec une mise en page (logo, date, et autres...) et je voudrais que mon graphique prenne le reste de la place sur ma feuille, pour pouvoir l'imprimer...
J'ai vu, dans l'aide, des instructions, mais elle donne au graphique toute la page...
j'ai essayer de la faire avec l'assistant de création de macro, mais quand je la lance, mon graphe est toujours aussi petit....
voici déja ce que j'ai fais :
je fais mon graphique dans l'onglet "graphe TRG"
mes données sont dans l'onglet "TRG"
la taille de ma selection est indiqué dans la cellule I4 (de l'onglet TRG)
LA première cellule de ma selection est C3
la dernière est dans la colonne E
Code :
Sub graphe()
Dim nouveau_graphique As Chart
Dim nbre As Integer ' n° de ligne de fin de selection
Dim per As Integer
Dim srce_d As Range
Dim zone_select As Range
per = Worksheets("TRG" ).Range("I4" ).Value+2
'// définition de la zone pour le graph
Set srce_d = Worksheets("TRG" ).Range("C4" ).End(xlDown)
If srce_d.row > per Then ' juste au cas ou il y aurais moins de lignes
nbre = per
Else
nbre = srce_d.row
End If
Set zone_select = Worksheets("TRG" ).Range(Cells("C4" ), Cells(nbre, 5))
Je veux et j'exige que tu me vire tous les ActiveMachin, et les Select/Selection. C'est source d'erreur et consommateur de ressources.
(...zen, coocool, exomil...)
Lignes 13, 14 et 15. Oh, quelqu'un d'intelligent.
Ligne 19. Attention, tu ne précises pas l'onglet pour tes deux Cells ! En plus, Cells n'accepte pas une adresse, mais deux coordonnées. C'est là qu'est ton erreur
Set zone_select = Range(Worksheets("TRG" ).Range("C4" ), Worksheets("TRG" ).Cells(nbre, 5))
Ligne 30 cf. exigences
Ligne 31 With.... Ben tant qu'à faire, mets le dès la ligne 26 si tu es fainéant à ce point (mais non, je sais bien que c'est un copier/coller de l'enregistreur de macros )
mais je suis désolé... je ne te suis pas trop pour la suite...
Citation :
Ligne 30 cf. exigences
Ligne 31 With.... Ben tant qu'à faire, mets le dès la ligne 26 si tu es fainéant à ce point (mais non, je sais bien que c'est un copier/coller de l'enregistreur de macros )
Je veux et j'exige que tu me vire tous les ActiveMachin, et les Select/Selection. C'est source d'erreur et consommateur de ressources.
Donc pas d'ActiveChart !!!!
Qu'est-ce que ActiveChart ? C'est le graphique actif. Et pourquoi serait-il actif ou pas ? Comme je n'en sais rien, je ne travaille pas sur un truc actif mais sur un objet correstement désigné : par son nom, son numéro, par une variable, par ce qu'il y a dans un With, etc.
il (excel) n'aime toujours pas la ligne 8.
Et sinon, peut t'on lui donner une localisation plus précise (ligne 7), que seulement l'onglet ? Par exemple, en dessous de la ligne n ou alors dans une plage de donnée prédéfinie ?
une dernière question : si la valeur est False, est on obligé de le mettre ? Y a-t-il une valeur par defaut ?
Ah oui, tiens. En fait, la ligne 6 transforme ton Chart en ChartObject. et l'objet nommé "graphique" disparaît. Un nouvel objet est créé. Et on n'a plus la main dessus
Soluces :
Faire tout ce qu'on peut sur le Chart tant qu'on l'a :
Ne pas créer un Chart, mais directement un ChartObject :
Code :
Set niou_tchart = WorkSheets("graphe TRG" ).ChartObjects.Add
Pour ce qui est de la localisation, tu veux dire l'emplacement sur la page ? Utilise les propriétés Left, Top, etc de l'objet ChartObject.
Pour ta dernière question, Teste par toi-même + RTFM. L'aide d'Excel te dira si un paramètre est obligatoire ou pas et dans ce dernier cas, quelle est la valeur par défaut.
je sais, il reste un select... mais euh... ben je sais pas !! c la le probleme !! et mes lignes 12, 13, 14 ne font rien !! (le programme marche.. mais il saute des lignes !!) => il prend la 1ere courbe et pas la courbe tendance, j'ai essayer en mettant "2" ou "evolution" à la place de "1" dans SerieCollection(".." ) en plus, il me fait le graph sur un autre onglet !! bref, je suis pas encore au point !!
Message édité par loic_akela le 07-11-2007 à 09:55:31