!!! définir ds 1 UF données sources d'1 graph !!!

F

fabrice

Guest
Resalut, c'est remoi.

Bon, j'espere que ma question ne va pas etre à rallonge, sinon, ca risque de casser encore plus le forum :=(. Je vais donc m'exprimer dans un francais claire et compréhensible (meme pour nous amis les Canadiens ;=) )

Voila, est ce qu'il est possible de définir dans un userform (avec des textbox par exmple) les données sources d'un graphique???

Merci de votre réponse.
FAb

PS: je ne sais pas si j'ai été assez claire finalement !!!
 
M

Mytå

Guest
Salut fabrice et le Forum

Une applcation que j'utilise sur un programme

Sub Graphique()
Application.DisplayAlerts = False
Sheets("Graphique").Select
ActiveWindow.SelectedSheets.Delete
A = Range("c65535").End(xlUp).Row
B = Range("c65535").End(xlUp).Column
C = Range("bt65535").End(xlUp).Row
D = Range("bt65535").End(xlUp).Column
Charts.Add
ActiveChart.ChartType = xlColumnClustered
With Worksheets("Triage")
ActiveChart.SetSourceData Source:=.Range(.Cells(A, B), .Cells(C, D)), PlotBy _
:=xlRows
End With
With ActiveChart
.Name = "Graphique"
.HasTitle = False
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
Application.DisplayAlerts = True
End Sub

Une macro graphique suffit d'adapter les valeurs du UserForm pour remplacer les valeurs A,B,C,et D en fonction

Grrr encore un.select @+Thierry va encore me le dire :)))

Pour le userform pas le temps de travailler sur cela desolé surement tu auras d'autre réponse

Amitié Mytå
 
V

Valérie

Guest
Slt le forum,

Après le parcours du combattant pour arriver jusqu'à vous, me voilà prête à venir en aide.

Je ne suis pas sure de répondre comme il le faut à ce post mais je m'y tente!!

Pour borner les Y je vois à peu prés mais les X ... Ce que je te propose pour les Y est de déterminer la valeur max et la valeur min de l'axe

With ActiveSheet.ChartObjects(1).Chart.Axes(xlValue)
.MinimumScale = 100
.MaximumScale = 500
End With

Après l'intervention de Mytå il est évident que dans ce cas le graphique est créé.

@+
Valérie
 
F

fabrice

Guest
salut Valérie

En fait, j'ai déja un graphique qui est crée et je voudrai que l'utilisateur puisse, a travers un UF (par exemple) définir les bornes pour pouvoir faire en gros des "zooms" sur les parties choisies.

Par ex:
X 0 à 1000
et y de 0 à 500

Je voudrais que l'utilisateur puisse définir les X
ex: X de 10 à 30 ou de 100 à 520.

Les Y s'adapteront automatiquement.

Voila réellement le probleme.

Merci
FAb
 
V

Valérie

Guest
Re Salut à tous et toutes

ça se complique, à priori ce que tu veux C'est réduire la plage de données!

Je ne sais pas trop comment est créé ton tablo mais j'ai créé un petit exemple dont tu pourras t'inspirer.

Attention je n'ai pas testé les erreur de saisie.

@+
Valérie
 

Pièces jointes

  • limiteGraph.xls
    31 KB · Affichages: 81
F

fabrice

Guest
Salut

Je viens de tester ton fichier. Ca semble etre exactement ca mais il y a un message d'erreur.
Je tape par exemple:
Début : 2
Fin : 5

Le message suivant s'affiche:
Erreur d'eceution '1004'
Impossible de lire la propriété ChartObjects de la classe Worksheet
 
V

Valérie

Guest
Slt Fabrice et les acidus du forum,

Tu es en quelle version d'Excel??
Avec XP je n'ai pas ce pb, pour ce qui est de la syntaxe de ta version enregistre une macro qui change la source de données et tente d'adapter, sinon post le code je te guiderai!!

Bon courage et @+

Valérie
 
V

Valérie

Guest
Il faut pour que je puisse t'aider que tu enregistres un macro par Outils=>Macro=>Nouvelle macro Donne un nom

Séléectionne ton graphique, modifie la source de données (graphique=>Données source en XP) séléectionne ton tableau

Arrête l'enregistrement (Bouton avec un carré bleu ou Outils=>Marco=>Arrêt enregistrement)

Ensuite toujours dans Outils=>Macro=Macro clique sur le nom que tu lui as donné demande de Modifier
Copier/Coller dans le forum que je vois

@+
Valérie
 
@

@+Thierry

Guest
Bonjour tout le monde,

Pauvre Valérie, tu fais connaissance avec Fab...

Déjà Fab, comme j'imagine que tu clicks direct sur le lien et que tu ouvres Excel à travers le Browser (IE Explorer)... Il faut que tu saches que dans bien des cas les macros ne fonctionnent pas correctement. Saches également qu'il est toujours préférable de faire un "Save Target As" (Enregistrer la cible sous) et de mettre tout fichier inconnu dans un répertoire "suspect" pour des fins de checking antivirus avant ouverture.

Pour en revenir au fichier de Valérie, il marche très bien ici sous Win2000 / XL 2000.

J'ai même fait glisser son tableau jusqu'en ligne 20, aucun souci

(car quand j'ai vu le code j'avais peur que "Maximum" !! stop/plante à neuf !! (voir aide à maximum... !! lol )

... et puis avec "Question.Maximum" alors là je commençait à m'arracher les cheveux !!! et puis j'ai réalisé que Valérie nommait ses objets sans respecter aucune convention !! lol
(Cells.Find(What:=UFQuestion.TxbMinimum, LookAt:=xlWhole).Address)

Mais sinon c'est bien vu.

Bon aller bon app
@+Thierry
 
F

fabrice

Guest
re

Je ne comprend pas pourquoi tu veux que je fasse tout ca !?!?!
Normalement, ce que tu as fais devrais tourner chez moi, sauf si tu fais appel à une fonction indispo sur Excel 2000.
Non???

C'est fait:
Sub Bouton1_QuandClic()

End Sub
Sub test()
'
' test Macro
' Macro enregistrée le 30/01/2003 par FAb
'

'
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("B23:C24"), PlotBy _
:=xlRows
ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R3C1:R20C1"
ActiveChart.SeriesCollection(1).Values = "=Feuil1!R3C2:R20C2"
ActiveChart.SeriesCollection(1).Name = ""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
End Sub


Voila tout

Merci de ton aide,
FAb
 

Statistiques des forums

Discussions
314 645
Messages
2 111 527
Membres
111 190
dernier inscrit
clmtj