Vbscript+excel

[Résolu]
Signaler
Messages postés
4
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
11 avril 2006
-
Messages postés
4
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
11 avril 2006
-
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

Messages postés
792
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
792
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
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>
Messages postés
4
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
11 avril 2006

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
Messages postés
792
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
12 juin 2012
5
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>
Messages postés
4
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
11 avril 2006

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
Messages postés
4
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
11 avril 2006

Salut Rvblog

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

A bientot