Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
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 13/05/2011, 11h17   #1
Membre à l'essai
 
cyril courbis
Inscription : février 2010
Messages : 32
Détails du profil
Informations personnelles :
Nom : cyril courbis

Informations forums :
Inscription : février 2010
Messages : 32
Points : 22
Points : 22
Par défaut Question sur le fonctionnement d'excel

Bonjour,

je me pose une question sur le fonctionnement des objets excel. Plus je programme (je commence) et moins je comprends

Ma problématique se trouve au niveau de la gestion VBA des graphiques et de leurs noms.

Concrètement, j'essaye de trouver le nom de mes graphiques pour pouvoir faire des traitements dessus. En utilisant la méthode activeChart.Name je me retrouve avec une valeur "nom-voulu" + numéro du graphique auto-généré par excel. D'un autre coté si je cherche le nom de la valeur ActiveSheet.chartObject.name, je retrouve avec le nom voulu mais pas le numéro excel
pourquoi y'a il une différence et comment traiter mes graphiques derriéres?

Cordialement,
Trash_07
trash_07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 12h08   #2
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Salut.

Un objet ChartObject est le conteneur d'un objet Chart lorsque le graphique est incorporé à une feuille de calcul. Ce ne sont donc pas les mêmes objets et il est normal qu'ils ne renvoient pas le même nom.

Je ne sais pas comment tu veux piloter tes graphiques par VBA, il serait intéressant que tu expliques davantage, voire que tu donnes un petit bout de code...
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 12h25   #3
Membre à l'essai
 
cyril courbis
Inscription : février 2010
Messages : 32
Détails du profil
Informations personnelles :
Nom : cyril courbis

Informations forums :
Inscription : février 2010
Messages : 32
Points : 22
Points : 22
Concrètement:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
Function creerGraphique(nameSheet As String, plage As String, nomGraphique As String)

    Dim gr, msg
    For Each gr In Sheets(nameSheet).ChartObjects
        msg = gr.Name
        If msg = nomGraphique Then
            gr.Delete
        End If
    Next gr

Je crée ensuite mon graphique.
End Function
L'objectif étant à partir d'une plage de données de construire un graphique, ensuite lui attribuer un nom et le transférer sur un document Word.
Puis nous passons à la plage de données suivante et nous refaisons la même opération (avec suppression des graphiques existants).
La question que je me suis posé est lié à la manipulation des objets graphiques sous excel. Avec la possibilité de prendre leur nom Sheets(nameSheet).ChartObjects je peux les manipuler mais en prenant la partie ActiveChart.name, je ne pouvais pas, le nom de ceux-ci étant dynamique.
Je souhaite donc comprendre, et savoir si nous pouvons manipuler les outils dynamiquement ou leur réattribuer un nom.
ActiveChart.Name = "test" renvoyant une erreur. Il doit donc il y avoir une autre façon de réattribuer leur nom par ActivChart.Name.text ou autre.
trash_07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 12h31   #4
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 411
Points : 14 411
Envoyer un message via Skype™ à Pierre Fauconnier
Je ne sais pas si les graphiques créés sont de même style...

Si oui, il me semblerait plus simple de créer un graphique en Excel, et de se servir de VBA pour en modifier la source au sein d'une boucle.

Qu'en penses-tu?
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/05/2011, 14h05   #5
Membre à l'essai
 
cyril courbis
Inscription : février 2010
Messages : 32
Détails du profil
Informations personnelles :
Nom : cyril courbis

Informations forums :
Inscription : février 2010
Messages : 32
Points : 22
Points : 22
Ta méthode est effectivement plus simple.

Toutefois, je veux quand même les supprimer pour des raisons de sécurité : les chiffres présentés sont personnels. Dans certain cas, l'application pourrait récupérer de mauvaises informations, ce que je veux absolument éviter.
trash_07 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 +2. Il est actuellement 13h09.


 
 
 
 
Partenaires

Hébergement Web