IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

remplacer un mot dans la formule d'une serie d'un histogramme


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut remplacer un mot dans la formule d'une serie d'un histogramme
    Bonjour,

    je cherche a automatiser une quantité importante de graphique avec VBA (sous excel).
    afin de pourvoir executer ma macro sous plusieurs onglets, je dois remplacer un mot dans une formule de serie.

    lorsque j'ai des courbes sur mon graphique le code suivant fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim se As Series
    Dim Numgraph As Integer
     
           For Numgraph = 162 To 186
     
            ActiveSheet.ChartObjects("Graphique " & Numgraph).Activate
     
     
                   For Each se In ActiveChart.SeriesCollection
                           se.Formula = Replace se.Formula, "OuvertureHT_All ", "FermetureHT_All CC")
                   Next
        Next Numgraph
     
    end sub
    en revanche lorsque j'ai un histogramme, cela ne fonctionne plus
    "impossible de definir la propriété Formula de la classe series"

    du coup j'ai remplacé Formula par Xlvalue
    et là j'obtiens "incompatibilité de type"

    quelqu'un sait-il comment résoudre ce problème ?

    Merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Passe par une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        For Each se In ActiveChart.SeriesCollection
            LaSerie = Replace(se.Formula, "Feuil1", "Feuil2")
            se.Formula = LaSerie
        Next
    Cette syntaxe fonctionne
    LaSerie est un string

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    merci pour ta réponse.
    en fait j'ai essayé cette solution mais c'est au moment de se.formula=laserie que ca ne fonctionne pas.
    'impossible de definir la propriété formula de la classe serie" alrs que lorsque je fais un msgbox sur laserie, la transformation a bien été faite.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Alors je ne comprends pas, j'ai testé avant de te répondre... Tu as bien adapté le nom des feuilles ? Vérifie leurs noms, qu'il n'y ait pas un espace indésirable. Pour être sûr, copie le nom dans l'onglet correspondant

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    oui les mots entre guillemets sont OK.

    ce que je trouve bizarre c'est que ce code fonctionne lorsque mon graphique est un graphique en serie mais pas lorsqu'il s'agit d'un histogramme.
    ca doit être une histoire de propriété ou un truc dans le genre.
    je ne comprends pas. je vais essayer de me debrouiller autrment.

    Merci pour ton aide en tous cas.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    J'ai testé avec un histogramme.
    Juste pour info

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Comment remplacer un mot dans une chaines de caractere?
    Par lakhdharani dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 24/02/2009, 11h58
  3. remplacer un mot dans une ligne
    Par italiasky dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 08/04/2007, 19h19
  4. [JS] Remplacer les mots dans le code d'une page.
    Par sansamis dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/01/2007, 19h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo