Graphique avec fonction à la place des données

tbft

XLDnaute Accro
Bonjour

J'ai un graphique avec 3 listes de données et 1 pour l'axe des X.
Je voudrais savoir si il est possible d'ajouter non pas une liste de données mais le resultat d'une fonction?
cette fonction renvoi un tableau qui contient exactement le même nombre de ligne que les listes déjà presentent...
 

job75

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Re,

Au temps pour moi, je n'avais pas vu que "Titre" se rapporte à des choses différentes dans les 2 macros.

Avec une référence absolue (les $) le nom est bien créé :

Code:
Sub essai()
Dim Nom_serie, Titre, nb_val
nb_val = 2999
Nom_serie = "graphique_tension_moyenne_seuil_1"
Titre = "$M$1"
definir_nom Nom_serie, Titre, nb_val
End Sub

Sub definir_nom(Titre, reference_cellule, nombre)
Dim res As String
res = "=creation_liste(" & reference_cellule & "," & nombre & ")"
ActiveWorkbook.Names.Add Titre, res
End Sub
A+
 

Efgé

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Re
@ job75
Hé bien, j'ai raté pas mal de message pendant mon absence ;)
Pour l'instant je n'ai que 2007, je regarderai sous 2003 dès demain.
A l'heure actuelle :
Les fichiers des posts 12 et 13 s'ouvrent avec un message de références à des données externes ?!!?
Autre chose me surprend, quand on supprime les valeurs de la colonne C, les graphs réagissent bizarrement. LA série 240100 est impactée ?!!? Si "240100" était prise en compte par la formule nommée cela ne devrait pas être, enfin je pense.

Plus d'énigmes que de réponses pour l'instant.

Cordialement
 

job75

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Re,

Finalement si la fonction ne sert qu'à créer un nom défini elle ne présente aucun intérêt.

Ces macros définissent directement le nom Liste :

Code:
Sub essai()
Dim nom, nombre, valeur
nom = "Liste"
nombre = 2999
valeur = 240000
definir_nom nom, nombre, valeur
End Sub

Sub definir_nom(nom, nombre, valeur)
Dim res() As Variant, i As Integer
ReDim res(nombre, 1)
For i = 1 To nombre
    res(i, 1) = valeur
Next i
ActiveWorkbook.Names.Add nom, res
End Sub
Fichier joint.

A+
 

Pièces jointes

  • graphique avec nom défini(1).xls
    319 KB · Affichages: 60

Efgé

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Re
@ Job75
Ce coup-là j'ai ça à l'ouverture de ta dernière proposition ;)

Capturer.JPG

Je ne comprend plus....
Peut être que la version assez basique du post 4 pourrait être une base....

Par contre je continue à chercher car pouvoir mettre une formule personnalisée en nom défini serait vraiment bien

Cordialement
 

Pièces jointes

  • Capturer.JPG
    Capturer.JPG
    48.9 KB · Affichages: 89
  • Capturer.JPG
    Capturer.JPG
    48.9 KB · Affichages: 84
Dernière édition:

Gardien de phare

XLDnaute Accro
Re : Graphique avec fonction à la place des données

Bonjour job, Efgé, le forum

J'ai perdu le fil un moment, j'essaye de raccrocher mais dur ! Je ne comprends plus du tout où notre ami veut en arriver et vos constats (je fais les mêmes sur 2010) sont étonnants. Finalement, je pense que pour une fois, on pourrait faire simple (post #4), non ?
 

ROGER2327

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Bonjour à tous.


Juste pour le plaisir : des graphiques à données cachées.
C'est correct avec Windows7 et Excel2010.
Avec Excel2003, je ne sais pas...​


Bonne journée.



ROGER2327
#6547


Jeudi 5 Clinamen 140 (Saints Aster et Vulpian, violateurs du Néant - fête Suprême Quarte)
7 Germinal An CCXXI, 0,1405h - bouleau
2013-W13-3T00:20:14Z
 

Pièces jointes

  • Graphiques (données cachées).xlsx
    33.4 KB · Affichages: 42
  • Graphiques (données cachées).xls
    75 KB · Affichages: 43

Efgé

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Bonjour à tous, bonjour ROGER,
Les fichiers de ROGER fonctionnent parfaitement sous 2003.
Ce qui fait que je ne comprend vraiment pas pourquoi la 1er proposition de Job ne fonctionne pas !??!
Cordialement
 

tbft

XLDnaute Accro
Re : Graphique avec fonction à la place des données

Bonjour tout le monde

Merci pour votre aide.
Merci à job75 pour l'instruction application.volatile.
Je l'a connaissé... Mais complétement zapppppé...
J'ai ainsi pu resoudre rapidement mon probleme matinal des series qui ne s'affiche pas le matin....

Pour rebondir sur le post 18, je souhaite non pas avoir une liste fixe.
Mais une liste dont la valeur (identique tout le long) soit donnée par une cellule.
Ainsi, l'utilisateur peut faire bouger la droite dans son graphique et sans passer par des macros....

j'ai essayé de modifier les macros suivantes.
definir_nom2 fonctionne, mais pas definir_nom3...

???????????

VB:
Private Sub essai()
Dim Nom_serie, Titre, nb_val
  nb_val = 2999
  definir_nom2 "zzzz0", "R1C13", nb_val
  definir_nom3 "zzzz1", "$M$1", nb_val
End Sub

Public Sub definir_nom2(Nom, reference_cellule, nombre)
Dim res As String
  res = "=creation_liste(" + reference_cellule + "," + CStr(nombre) + ")"
  ActiveWorkbook.Names.Add Name:=Nom, RefersToR1C1:=res
End Sub

Public Sub definir_nom3(Nom, reference_cellule, nombre)
Dim tp As String, res
  tp = "=creation_liste(" + reference_cellule + "," + CStr(nombre) + ")"
  res = ActiveWorkbook.Names.Add(Nom, , , , , , , tp)
End Sub
 

tbft

XLDnaute Accro
Re : Graphique avec fonction à la place des données

Oups, je n'ai pas encore pris mon café du matin.

Aprés avoir détaillé le post 16, j'ai modifié (encore) et la ça marche...
VB:
Private Sub essai()
Dim Nom_serie, Titre, nb_val
  nb_val = 2999
 definir_nom4 "zzzz1", "$M$1", nb_val
End Sub

Public Sub definir_nom4(Nom, reference_cellule, nombre)
Dim tp As String, res
  tp = "=creation_liste(" + reference_cellule + "," + CStr(nombre) + ")"
  res = ActiveWorkbook.Names.Add(Nom, tp)
End Sub

Encore Merci:)
 

job75

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Bonjour tbft, le forum,

definir_nom2 fonctionne, mais pas definir_nom3...

???????????

Normal, le 8ème argument de .Names.Add c'est RefersToLocal.

Le séparateur des arguments doit donc être le point-virgule et non la virgule :

Code:
Public Sub definir_nom3(Nom, reference_cellule, nombre)
Dim tp As String
tp = "=creation_liste(" + reference_cellule + ";" + CStr(nombre) + ")"
ActiveWorkbook.Names.Add Nom, , , , , , , tp
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Graphique avec fonction à la place des données

Re,

Concernant le post #15 et l'échelle de l'axe des ordonnées :

- soit on laisse Excel définir automatiquement la valeur du minimum,

- soit on définit manuellement (ou par macro) ce minimum en dur dans la boîte de dialogue.

On ne peut pas le paramétrer avec une référence de cellule ou un nom défini.

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T