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 :

[VBA-E]Graphique mise à jour automatiquement qd suppression


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut [VBA-E]Graphique mise à jour automatiquement qd suppression
    Bonjour
    j'ai un gros prb,
    je reprends un classeur excel avec des graphiques.
    ces graphiques sont basés sur des lignes.
    Ma question est la suivante:
    je voudrais que le graphique se modifie qd je supprime une ligne (référence).
    Donc suppression de la légende, de la courbe correspondante.

    comment je peux faire?

    merci pour vos pistes;

    bon dév

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    en fait, c'est supprimer une série (nommé) d'un graphique.

    des pistes?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    voila ce que je tente
    graphique61.Chart.SeriesCollection(nIndexASuppr).Delete

    pb, il ne me trouve pas le graphique61 qui est le graphique en question

    ps: ce traitement a lieu dans une procédure lancé depuis une autre feuille (userform)

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et le graphique il est ou dans une feuille de calcul du même classeur ..?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    oui dans une feuille de ce classeur

    le graphique s'appelle graphique61, il existe déjà, car par défaut il y a toujours deux séries et il est sur un onglet du classeur

    puis on crée des séries
    et on veut maintenant avoir la possibilité d'en supprimer

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    une feuille de calcul ..? ou graphique...? le nom graphique61 il sort d'ou ..?



    essai de préciser la feuille de calcul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Feuil1").ChartObjects("Graphique61").Chart.SeriesCollection(nIndexASuppr).Delete

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    déjà merci de te pencher sur mon pb

    j'ai tenté ce que tu m'as dit et voial le message précis d'erreur.

    Erreur d'execution 1004:
    Impossible de lire la propriété charobject de la classe worksheet


    ps: petite précision, avant d'effectuer ce traitement, je supprime une ligne de données de cette feuille, et cela fonctionne.

  8. #8
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    c'est pas charObject mais chartOb..

    vérifie le nom de tes graphes par exemple avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub test()
      Dim c As ChartObject
      For Each c In Sheets("Feuil1").ChartObjects
     
        MsgBox c.Name
     
      Next
     
    End Sub

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    merci
    ca va mieux
    en fait c un bug d'excel (il me le nomme en anglais, soit chart 61)

    petit bug subsidiaire :
    la série reste en erreur (ref) mais si je ferme et relance le classeur, cela n'apparait plus?
    comment traiter ca?

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par LostIN
    merci
    ca va mieux
    en fait c un bug d'excel (il me le nomme en anglais, soit chart 61)
    oui j'ai pas tout compris la mais cela marche avec le nom en français .. mais il te manquai peu-être un espace entre graphique et 61...



    Citation Envoyé par LostIN
    petit bug subsidiaire :
    la série reste en erreur (ref) mais si je ferme et relance le classeur, cela n'apparait plus?
    comment traiter ca?
    pour la question subsidiaire... ? ils sont où ces ref...

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    pardon en fait je voulais dire qu'il restait la légende correspondante.
    on la vire comment?

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    en fait même en fermat et réouvrant le #ref reste apparant

  13. #13
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    quel type de graphique utilise tu , je n'arrive pas à le reproduire... lors de la destruction d'une série la légende correspondant et aussi supprimée...

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    oulala, le truc que je reprend est bizrrement fait

    en fait, il ya a par défaut 10 série de prévu

    imaginons j'ai 4 séries, donc 4 label.

    qd on ajoute une nouvelle série, ca prend la série + 1 soit 5
    et ca affiche dans la légende (en l'agrandissant) les 4premières légendes plus la suivante.

    voila pourquoi j'ai #ref d'afficher.
    donc mon but est de réduire ce cadre légende pour ne laisser apparaitre que les 4 légende qd j'ai supprimer la 5e.

    tu comprends?

    ps : voila le code (que je comprends pas qui permet d'ajouter des lignes)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Range("reference").Offset(Range("Nb_Mobile"), 0).EntireRow.Select
        ActiveSheet.Outline.ShowLevels RowLevels:=3
        Selection.Rows.Ungroup
        ActiveSheet.Outline.ShowLevels RowLevels:=1
        Range(Range("reference").Offset(Range("Nb_Mobile") - 1, 0), Range("reference").Offset(Range("Nb_Mobile"), 0)).EntireRow.Select
        Selection.FillDown
        Range("reference").Offset(Range("Nb_Mobile"), 0).Select
        Selection.FillDown

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 402
    Par défaut
    j'ai viré toutes ces "fausses" séries, du coup qd je crée ou supprime, tou va bien.

    merci de ton coup de main précieux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] mise à jour automatique d'un classeur par un code vba
    Par frihat mohamed dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/09/2011, 19h10
  2. [XL-2003] Commande VBA sur la Confirmation de la mise à jour automatique des liens
    Par christoff916 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2011, 11h01
  3. Mise à jour automatique de l'interface graphique
    Par Christophe_stevenin dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 11/03/2008, 13h56
  4. Série graphique mise à jour automatiquement
    Par blooby dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/05/2007, 10h35
  5. [VBA-EXcel] Timer pour mise jour automatique
    Par Dos dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/09/2006, 20h36

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