Vbscript+excel

Résolu
dghaine Messages postés 4 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 11 avril 2006 - 3 avril 2006 à 13:39
dghaine Messages postés 4 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 11 avril 2006 - 11 avril 2006 à 19:55
Bonjour

J'ai créer un script en vb qui copie et colle des données d'un fichier excel source vers un fichier excel cible qui génére un graphique, modifie le nom des feuilles et le titre du graphique puis l'enregistre.
Mon soucis vient de la modofication du titre dans le graphique. Je n'arrive pas à trouver le code qui me permettrait de le faire.

Existe t-il en vbscript le code qui me permettrait de modifier le titre du graphique ?

Merci de vos réponses lumineuses

6 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
9 avril 2006 à 22:17
Salut ,

mea culpa, tu dois utiliser ActiveChart (je disais sans ActiveChart, car je n'étais pas sûr que, si l'application est invisible, cet objet est valide ou non, j'ai vérifié, il l'est).
Mets cela dans une procédure de test, et testes-la :

Dim xlApp
Dim wkClasseur
Dim wsFeuille
Dim chGraphe
'instancie l'application
Set xlApp = CreateObject("Excel.Application")
'ouvre ton classeur, à adapter
Set wkClasseur = xlApp.WorkBooks.Open("E:\....\DgHaine\chart.xls")
'référence la feuille contenant le graphe
Set wsFeuille = wkClasseur.Sheets("Feuil1")
'référence le graphe
Set chGraphe = wsFeuille.ChartObjects(1)
'active le graphe, sinon, l'objet ActiveChart n'est pas valide
chGraphe.Activate


'et c'est l'objet Activechart qui expose les propriétés tant recherchées
'affiche le titre actuel
msgbox xlApp.ActiveChart.ChartTitle.Characters.Text
'modifie le titre
xlApp.ActiveChart.ChartTitle.Characters.Text="essai"
'affiche la modification
msgbox xlApp.ActiveChart.ChartTitle.Characters.Text


'ferme et libère les références (si tout va bien, il va te proposer d'enregistrer
'les modifications que l'on vient de faire)
wkClasseur.Close
xlApp.Quit
Set xlApp = nothing

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
3
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
6 avril 2006 à 00:25
Salut dghaine,

dommage que tu ais connu le VBScript avant le VBA (logique, mais dommage), tu aurais moins souffert sinon!

- Ouvres ton classeur Excel (celui qui a un graphique)
- vas dans le menu Outils>>Macros>>Nouvelle macro
- changes le titre du graphique
- arrêtes l'enrigistreur de macros
- appuies sur [ALT][F11]
- dans l'arborescence de gauche, cherches le module Module1
- ouvres-le en double-cliquant

et voilà, tu sais maintenant modifier le titre d'un graphique (enfin, il te reste à l'adapter au VBScript, et sans utiliser ActiveChart), et plein d'autres choses en plus!

N'oublies pas d'accepter la réponse, s'il te plait et si elle te plait :)
à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
dghaine Messages postés 4 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 11 avril 2006
6 avril 2006 à 07:39
J'ai effectué la méthode que tu indiques en passant par l'enregistreur de macro mais je n'arrive vraiment pas à l'adapter. Merci tout de mème

Dghaine
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
6 avril 2006 à 15:31
Salut dghaine,

postes le bout de code où tu veux brancher la modification du titre, s'il te plait (juste l'échantillon suffisant), et je te renvoie la bonne écriture ce soir.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dghaine Messages postés 4 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 11 avril 2006
9 avril 2006 à 10:03
Salut rvblog
J'ai pris connaissnace de ta réponse tardivement. Volia le bout de mon code quand je passe par l'enregistreur de macro sous excel et que je souhaite adapter sous vbscript.

Modification en utilisant le menu graphique et option du graphique :

With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "essai"
End With
ActiveChart.ChartArea.Select
End Sub

Moification en selectionnant directement le titre , suppression et ecriture du nouveau titre:

ActiveChart.ChartTitle.Select
Selection.Characters.Text = "Essai"
Selection.AutoScaleFont = False
With Selection.Characters(Start:=1, Length:=5).Font
.Name = "Arial"
.FontStyle = "Gras"
.Size = 22
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
ActiveChart.ChartArea.Select
End Sub

Le 2eme est un peu plus long.
Vbscript ne connait pas Hastile, charttitle, chartarea... par contre, il connait activechart, chartobject;

Merci de ton aide précieuse.

dghaine
0
dghaine Messages postés 4 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 19:55
Salut Rvblog

merci pour ta réponse lumineuse. Tout fonctionne comme je le souhaitais.

A bientot
0
Rejoignez-nous