Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1621 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Graphiques

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA Graphiques

n°1912161
Charlotte1​0
Posté le 06-08-2009 à 08:54:53  profilanswer
 

Bonjour à tous,
 
Je commence à peine sous VBA et je suis en stage. J'aimerais créer un graphique qui se met à jour à chaque fois que j'ajoute des données sur ma base (date/performance).
 
Pourriez vous s'il vous plait m'aider :( ?
 
Merci

mood
Publicité
Posté le 06-08-2009 à 08:54:53  profilanswer
 

n°1912166
Deamon
Posté le 06-08-2009 à 09:10:40  profilanswer
 

Si tu prends une zone de données plus grandes, le graphique se mettra à jour dès que tu ajouteras des valeurs dans cette zone. Je sais pas si ça te convient.

n°1912170
_xme_
Posté le 06-08-2009 à 09:27:24  profilanswer
 

Salut
J'ai jamais utilisé les graphique en vba mais si je crois que c'est lié au tcd non?
Et sauf erreur de ma part les tcd n'aime pas les lignes vide...
donc je conseillerais plutôt une macro qui réajusterait la zone de selection
Mais ca veut dire qu'il faut regarder du coté des événements excel regardé s'il existe un truc du genre onchange
 
 
Si ce n'est pas lié au tcd la solution de deamon est largement la plus simple tu prend une très très grande zone et pas de soucis et pas de prog non plus ^^


Message édité par _xme_ le 06-08-2009 à 09:27:44
n°1912185
Charlotte1​0
Posté le 06-08-2009 à 09:53:45  profilanswer
 

Je vous remercie Deamon et _xme_
 
En gros je n'aurai pas de vite vu que la base est toute nouvelle...  
et si je prends une plage trop grande (ne contenant pas d'infos) le graphique ne sera pas bon il me semble ...
 
Sauriez vous ou je peux trouver des exemples de procédures ?
Je n'arrive pas à coder ...
 
Merci !
 
ps: je ss pas du ds l'informatique :p

n°1912195
_xme_
Posté le 06-08-2009 à 10:10:55  profilanswer
 

Désolé de te décevoir mais va falloir penser à faire de l'info si tu veux que ça marche :p
Peux-tu en dire plus sur d'un ce qu'est ta base?
Est ce juste un ensemble de ligne excel ou carrément une base de données Access, Sql Server ect
Quel genre de graphique tu es censé faire?
Je ne me sers jamais des graphique excel du coup je suis un peu perdu ^^.
De mémoire y a au moins 2 type de graphiques, certain du genre tcd qui réagisse au choix des utilisateurs et d'autre statiques.
Donc qu'est ce que tu fais?

n°1912219
Charlotte1​0
Posté le 06-08-2009 à 10:36:06  profilanswer
 

En effet, je vais devoir me pencher sur la question!
 
Alors c'est une petite base sur Excel juste des dates et les performances donc c'est en deux colonnes. Pour le moment elle n'est pas trop longue (à peu près 20 lignes) mais avec le temps elle risque de s'agrandir. Voilà pourquoi j'aimerais éviter le sélectionner/insérer graphique...
 
Le graphique c'est donc une courbe qui en fonction du temps donne la performance.  
 
Ca doit être tout bête, pas de sql pas d'access on reste dans Excel.
 
Merci encore _xme_ :)
 

n°1912225
Deamon
Posté le 06-08-2009 à 10:45:06  profilanswer
 

Charlotte10 a écrit :

et si je prends une plage trop grande (ne contenant pas d'infos) le graphique ne sera pas bon il me semble ...


Je viens de tester si tu mets une grande zone de données il ne prend pas en compte les lignes qui sont vides. Donc ça devrait convenir et c'est beaucoup plus simple.
 

Charlotte10 a écrit :

Voilà pourquoi j'aimerais éviter le sélectionner/insérer graphique...


Tu peux modifier la source de données sans avoir à refaire un nouveau graphique.  ;)

n°1912259
Charlotte1​0
Posté le 06-08-2009 à 11:44:52  profilanswer
 

Ah c'est une bonne nouvelle alors !
Je te remercie Deamon.
 
Est ce possible d'ajouter des précisions type : graphique allant de 90 et non de 0 ??
 
Saurais tu ou je pourrais trouver des procédures écrites?? :s

n°1912261
Deamon
Posté le 06-08-2009 à 11:47:47  profilanswer
 

Tu double-cliques sur chaque axe pour modifier son échelle et compagnie.

n°1912262
_xme_
Posté le 06-08-2009 à 11:49:31  profilanswer
 

Bon si c'est juste une petite base excel, ça m'a pas bien l'air dur :)
Comme le dit deamon tu peux prendre une zone plus grand, je te le conseille aussi ca t'enlevera tout soucis très rapidement ;)
- soit tu cherches le sport et dans ce cas tu programmes un minimum
DAns ce cas:
Alors tout d'abord sache qu'excel est assez magique pour faire du vba :)
Pour savoir à quoi va ressembler ton script commence par aller dans outils->macro->nouvelle macro
A ce moment là tu fais exactement ce que tu aimerais que fasse ton script.
Plusieurs possibilités s'offrent à toi.
Supprimer le tableau et en réinsérer plus grand qui aient tout les données.
juste modifier la zone de selection (conseillé :D )
 
Une fois ceci fait, tu arretes l'enregistrement de la macro
perso je me suis amusé à créer un graphique voila le résultat:

Code :
  1. Sub Macro2()
  2.    Charts.Add
  3.    ActiveChart.ChartType = xlLineMarkers
  4.    ActiveChart.SetSourceData Source:=Sheets("Sheet1" ).Range("B2:C10" ), PlotBy _
  5.        :=xlColumns
  6.    ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
  7.    With ActiveChart
  8.        .HasTitle = True
  9.        .ChartTitle.Characters.Text = "titre"
  10.        .Axes(xlCategory, xlPrimary).HasTitle = True
  11.        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "axex"
  12.        .Axes(xlValue, xlPrimary).HasTitle = True
  13.        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "axey"
  14.    End With
  15. End Sub


Avec ça tu vois on voit par exemple directe comment créer un graphique, choisir la zone de selection, changer les titre des axes etc....
une fois ceci fait post ton code
 
Sinon fait directement la solution de deamon ca marche aussi :D
 
 
Edit: oups message hs car commencé il ya plus d'une heure mais interrompu car mon maitre de stage a débarqué :D


Message édité par _xme_ le 06-08-2009 à 11:50:23
mood
Publicité
Posté le 06-08-2009 à 11:49:31  profilanswer
 

n°1912298
Charlotte1​0
Posté le 06-08-2009 à 12:48:15  profilanswer
 

Okay !
 
Merci les gars je comprends je suis aussi en stage
 
Comment ne pas avoir de text concernant les axes ? Je peux mettre hasAxisTitle=False ??
 
Pour avoir un format dates pour les abscisses on fait comment?
 
Merci ::))

n°1912757
SuppotDeSa​Tante
Aka dje69r
Posté le 07-08-2009 à 12:01:47  profilanswer
 

Bonjour
 
ahum _xme_ ... Bon je ne vais pas le faire sur tout tes posts.... :lol:
 
Charlotte10,
 

Code :
  1. 'Pour les dates
  2.     ActiveSheet.ChartObjects("TonGraphique" ).Activate
  3.     ActiveChart.Axes(xlCategory).Select
  4.     Selection.TickLabels.NumberFormat = "dd/mm/yyyy"


 
Pour ce qui est du texte sur les axes, j'ai pas compris la question... Car les titres des axes sont definissables quand tu créés le graphique, donc il suffit de ne rien mettre. Si tu en as mis :

Code :
  1. 'Suppression des titres des axes s'ils existent
  2.     If ActiveChart.Axes(xlCategory).HasTitle = True Then ActiveChart.Axes(xlCategory).AxisTitle.Delete
  3.     If ActiveChart.Axes(xlValue).HasTitle = True Then ActiveChart.Axes(xlValue).AxisTitle.Delete


 
Cordialement


Message édité par SuppotDeSaTante le 07-08-2009 à 12:03:45

---------------
Soyez malin, louez entre voisins !
n°1912908
_xme_
Posté le 07-08-2009 à 14:52:21  profilanswer
 

ahum dje69r en fait vois-tu ... [:kurt haribo]
non là pour le coup j'ai aucune excuse valable, j'ai lamentablement perdu mon temps à ouvrir un excel et enregistrer une macro qui ne me servira à rien  :pfff:  
 
 :lol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Graphiques

 

Sujets relatifs
Quelle bibliothèques graphiques gratuite pour appli commercialemacro Excel VBA : pb dans la création automatique de graphiques
Tracer des graphiques à la chaînes avec Excel/VBA [Résolu][VBA Excel] Separation Variables de Graphiques
macro Excel VBA : Création automatique de 140 graphiquesmanipulation de graphiques avec VBA sous Access 2k
export graphiques vers word VBADéplacement de graphiques en Excel VBA
[Excel][VBA] Réalisation de graphiques avec sériesVBA Excel : Echelles et légendes des axes des graphiques
Plus de sujets relatifs à : VBA Graphiques


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR