Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 06/03/2010, 18h17   #1
Invité de passage
 
Inscription : juin 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 22
Points : 0
Points : 0
Par défaut synthaxe pour graphique

Bonjour,
Je bloque sur la synthaxe à écrire pour construire un graphique avec VBA...
Je vous laisse un fichier exemple :

http://www.cijoint.fr/cjlink.php?fil...ijYzdDXjJ.xlsm

Pouvez vous lancer la macro "graphe" et m'expliquez pourquoi cela bloque à la ligne : ajout d'un graphe ?

Merci d'avance de votre aide
poilou2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2010, 18h33   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 172
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 43
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 172
Points : 29 877
Points : 29 877
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Beaucoup de membres du forum ne téléchargent pas les fichiers, il serait bon que tu mettes sur le forum le code qui pose problème en signalant la ligne, tu auras plus de réponses.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2010, 19h22   #3
Invité de passage
 
Inscription : juin 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 22
Points : 0
Points : 0
L'erreur se situe à la 4ième ligne

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 Sheets("Données").Select
    Range("A3:A25,D3:H25").Select
    Range("D3").Activate
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.SetSourceData Source:=Range( _
        "'Données'!$A$3:$A$25;'Données'!$D$3:$H$25")
    ActiveChart.ChartType = xlStockVOHLC
    ActiveChart.SeriesCollection(1).Name = "=""Volume"""
    ActiveChart.SeriesCollection(1).Values = "=MonPortefeuille.xlsm!donneev1"
    ActiveChart.SeriesCollection(2).Name = "=""Ouverture"""
    ActiveChart.SeriesCollection(2).Values = "=MonPortefeuille.xlsm!donneeo1"
    ActiveChart.SeriesCollection(3).Name = "=""Plus Bas"""
    ActiveChart.SeriesCollection(3).Values = "=MonPortefeuille.xlsm!donneepb1"
    ActiveChart.SeriesCollection(4).Name = "=""Plus Bas"""
    ActiveChart.SeriesCollection(4).Values = "=MonPortefeuille.xlsm!donneeph1"
    ActiveChart.SeriesCollection(5).Name = "=""Cloture"""
    ActiveChart.SeriesCollection(5).Values = "=MonPortefeuille.xlsm!donneef1"
    ActiveChart.SeriesCollection(5).XValues = "=MonPortefeuille.xlsm!donneet1"
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="OPBPHC"
    ActiveChart.ApplyLayout (1)
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.ChartTitle.Select
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.ChartTitle.Text = "Action ....."
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.ChartArea.Select
Merci d'avance
poilou2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2010, 20h36   #4
Inactif
 
Inscription : février 2010
Messages : 517
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 517
Points : 513
Points : 513
Bonjour,
Commence (avant toute autre chose) par tester l'existence :
Ainsi :
Code :
1
2
3
4
5
6
7
8
9
10
.......
    ActiveChart.ChartTitle.Text = "Action ....."
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ........
    If ActiveChart.ChartArea is nothing then
       msgbox "pas de chartarea !"
    else
       msgbox "une Chartarea est bien là et je la sélectionne"
       ActiveChart.ChartArea.Select
    end if
ce sera à mon avis un bon début de révélation et compréhension.

EDIT : il arrive parfois que des choses bizarres interviennent (c'est hélàs ainsi !)
Recommence un nouveau classeur ===>>> Colle dans ce classeur tout ton code ===>>> essaye à nouveau ===>>> il y a quelquefois des surprises

Dernière modification par babaothe ; 06/03/2010 à 20h49.
babaothe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2010, 08h55   #5
Invité de passage
 
Inscription : juin 2009
Messages : 22
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 22
Points : 0
Points : 0
Bonjour,
j'ai vérifié que mon graphe existait bien..., mais pas moyen , ma macro ne fonctionne pas.

J'ai pensé alors à créer une fonction qui me renverrait le graphe avec les caractéristiques de ces lignes de code... mais je ne vois pas comment faire non plus ...?

Merci de votre aide
poilou2607 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2010, 09h23   #6
Membre Expert
 
Homme
Inscription : juillet 2007
Messages : 848
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 848
Points : 1 078
Points : 1 078
Bonjour
tu peux tester cela:
Code :
1
2
3
4
5
6
7
 
    Charts.Add
    With ActiveChart
        .ChartType = xlStockVOHLC
        .SetSourceData Source:=Sheets("données").Range("A3:A22,D3:H22"), PlotBy:=xlColumns
        .Location Where:=xlLocationAsObject, Name:="données"
    End With
à mettre à la place des 5 premieres lignes de ta macro, je n'ai pas excel 2007 sur le PC
cb_60 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 04h24.


 
 
 
 
Partenaires

Hébergement Web