[Résolu][Excel] Redimensionnement Auto d'une Courbe

Redimensionnement Auto d'une Courbe [Résolu][Excel] - Logiciels - Windows & Software

Marsh Posté le 02-11-2006 à 09:58:24    

Bonjour,
 
à l'aide d'un tableau, je trace un graphique sous excel, jusque tout de plus normal et aucun souci!
 
imaginons que mon tableau va de A1 à A10. (il a donc 10 termes)
le probleme est que quand je vais rajouter un terme (donc en A11) , le tableau ne se redimensionne pas...
je suis obligé d'aller dans Données source, de cliquer sur serie1 et de l'etentdre jusqu'a A11 ou de le faire manuellement avec les poignées...  :pfff:  
 
comment puis je faire pour que mon tableau suive toujours le dernier terme de cette colonne?
 
merci d'avance pour vos réponses?


Message édité par Didf le 03-11-2006 à 08:25:52
Reply

Marsh Posté le 02-11-2006 à 09:58:24   

Reply

Marsh Posté le 02-11-2006 à 10:52:21    

Bonjour
 
Pas bien le choix en effet.
Essaies peut etre en nommant ta plage allant de A1 à A10. (Insertion, Nom, Définir) Par ex ZONEGRAPH
Puis pour ton graphique la source ne sera pas =A1:A10 mais =ZONEGRAPH
Ce qui fait qu'a chaque fois que tu vas ajouter une ligne, tu renommes ta plage en ZONEGRAPH et ton graphique se mettra a jour.
 
 
 
EDIT : sinon il suffit juste de cliquer un coup sur le graph pour que les poignées apparaissent, et tu fais le changement de la sélection a ce moment là
 
Cordialement


Message édité par SuppotDeSaTante le 02-11-2006 à 10:54:25

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 02-11-2006 à 11:02:57    

en effet ca va plus vite, merci
 
maintenant est il possible qu'un nom s'etende automatiquement?
en fait que n'aie pas besoin de renommer ma plage en ZONEGRAPH mais que ca teste si le dernier terme+1 de mon nom soit non vide alors celui-ci est integré dans ZONEGRAPH?
 
merci

Reply

Marsh Posté le 02-11-2006 à 11:06:07    

Oui, tout est possible (tout est réalisable c'est le jeu de la vie)
 
Il va seulement falloir te mettre un peu a la progra et créer une macro
 
Sinon, hum, j'essaie un truc et je reposte direct derriere, j'ai une idée lumineuse... Attendons de voir si l'ampoule eclate...
 
Hum non dsl impossible de référencer un ligne...


Message édité par SuppotDeSaTante le 02-11-2006 à 11:17:15

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 02-11-2006 à 11:18:58    

lol ok merci... bon je vais me creuser les meninges alors  :)  
 
mais c'est bizarre quand meme cette histoire
 
ou alors essayer de prendre tout une colonne A:A mais faire en sorte que la partie visible ne soit que la partie non vide en jouant sur les axes
 
j'ai cherché dans tous les menus mais je n'ai rien trouvé  :pfff:


Message édité par Didf le 02-11-2006 à 11:20:44
Reply

Marsh Posté le 02-11-2006 à 11:30:07    

Essaies cette macro ;)  
Je suis parti dans l'hypothese que tu avais deux colonnes remplies, de a1 à b10, en A les intitulés, en B les chiffres/nombres
 
Sub Graph()
 
    'Selectionne la cellule C1
    Range("C1" ).Select
    'Sauvegarde le contenu de ta cellule dans la variable "AncVal" au cas tu es qqchose de saisi en C1. Je me sers de la fonction counta (NBVAL) pour compter le nombre de cellule non vide dans la colonne B
    AncVal = Cells(1, 3).FormulaR1C1
    'Compte le nombre de ligne non vide de la colonne B et le stock dans la variable "Nb"
    ActiveCell.FormulaR1C1 = "=COUNTA(C[-1])"
    Nb = ActiveCell.Value
    'Remet dans ta cellule C1 ce qui a été sauvegardé
    ActiveCell.FormulaR1C1 = AncVal
    'Selection de ton graphique, le nom "Graphique 2" est a modifier en consequence
    ActiveSheet.ChartObjects("Graphique 2" ).Activate
    'Modifie la sélection en fonction de notre variable "Nb". Le nom "Feuil1" de ton onglet est a modifier en consequence
    ActiveChart.SetSourceData Source:=Sheets("Feuil1" ).Range("A1:B" & Nb)
    'Déselectionne ton graph et le curseur se positionne en A1
    Range("A1" ).Select
End Sub


Message édité par SuppotDeSaTante le 02-11-2006 à 11:36:37

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 02-11-2006 à 11:37:01    

Impeccable merci beaucoup dje69r
 
c'est du tonnerre ta macro  :bounce:  
 
encore merci!!!

Reply

Marsh Posté le 02-11-2006 à 11:38:16    

Mais de rien :d
 
C'est fait pour ca le forum ;)
 
EDIT : mets un petit [Resolu] ou qqchose de similaire. Comme ca le jour ou qqun a le meme souci, il saura que ce post a ete résolu ;)
 
GIVORS.... Aller l'OL hein ;)
 
Cordialement.


Message édité par SuppotDeSaTante le 02-11-2006 à 11:40:48

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 03-11-2006 à 08:25:22    

ouais allez l'OL  :D  
 
tu peux m'expliquer un truc stp?
 
je ne comprends pas la syntaxe ->
COUNTA(C[-1])

Reply

Marsh Posté le 03-11-2006 à 14:26:14    

En fait le counta equivaut a la fonction NBval
 
- Ensuite sous excel tu as plusieurs possibilités pour faire référence à une cellule, ou une colonne ou une ligne.
La plus connue est A:A ou A1 etc.
- tu as la possibilité d'avoir des references de type L1C1 (Ligne 1 Colonne 1) pour voir a quoi ca ressemble tu peux aller dans Outils, Options, Onglet Général et cocher la case "Style de référence L1C1". Tu peux ensuite regarder la tronche de tes calculs... Elles seront referencées en L1C1
- Et en Vb tu peux aussi référencer une cellule avec la propriété Cells(N°ligne, N°Colonne)
 
COUNTA (C[-1]) veut dire qu'il est positionné en colonne C, mais qu'il va sélectionné la colonne entiere -1 donc B. Il calcul une référence en fonction d'ou il est positionné et non pas en reference absolue. Si tu etais positionné en D1 et que voulais séléctionné la colonne C tu aurais D[-1] et si tu voulais selectionner la colonne B tu aurais D[-2] etc.
 
J'espere avoir été clair.
 
Cordialement


Message édité par SuppotDeSaTante le 03-11-2006 à 14:27:41

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 03-11-2006 à 14:26:14   

Reply

Marsh Posté le 03-11-2006 à 14:44:13    

oui j'avais compris ca, bizarre!!!
mais j'ai essayé de changer , j'ai mis M[-1] pour compter les nb d'items en L et ca m'a mis n'importe quoi....
bon casse toi pas la tete, je vais chercher un peu...
 
merci en tout cas!

Reply

Marsh Posté le 03-11-2006 à 14:47:21    

Oui mais t'es tu positionné en colonne M avant ?
 
Oula j'ai compris mon erreur. Je t'ai dis n'importe quoi...!!!
 
Le C[-1] veut dire Colonne -1 le C de colonne...
 
Autant pour moi.
 
Donc si tu es en M, c'est aussi C[-1] pour prendre la colonne L, mais il faut etre positionné en M au préalable vu que se sont des references en fonction d'ou ton curseur est positionné...
Voici les choses a modifier.
Range("M1" ).Select
AncVal = Cells(1, 13).FormulaR1C1  
ActiveCell.FormulaR1C1 = "=COUNTA(C[-1])"  
 
 


Message édité par SuppotDeSaTante le 03-11-2006 à 14:51:02

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 03-11-2006 à 14:49:12    

ah donc il faut aue mon activecell soit Mquelque chose?
 
ok , non en effet

Reply

Marsh Posté le 03-11-2006 à 14:51:22    

Dsl j'avais edité


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 03-11-2006 à 14:52:49    

lol pas grave

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed