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 :

Graphiques camembert Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Par défaut Graphiques camembert Excel
    Bonjour,


    J'ai un code VBA qui lit une base de données Excel classée par "record" et qui utilise ces données pour afficher un graphique en camembert personnalisé pour chaque record.
    Seulement voilà ... les étiquettes liées aux portions du camembert changent constament de position en fonction du "record" lu et se superposent parfois (et les leaderlines s'entrecroisent)...

    Je ne trouve pas de commande pour faire en sorte que les étiquettes du camembert n'entrent pas en collision et s'ajustent automatiquement ...

    Existe-il une solution à ce problème ?
    Grand merci pour votre attention

    Frank26

  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
    Par défaut
    Tout doit dépendre de la façon dont tu construit ton graphe. Le fais-tu en une seule fois ou ajoutes-tu des éléments par soft ?

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Par défaut
    Le graphique est construit une fois pour toute et se trouve sur la deuxième sheet excel. Je ne le construis pas par des commandes VBA.

    La première sheet est pour la base de données de lecture.

    Pour que le camembert soit variable pour chaque record lu dans la DB, je mets à jour le tableau sur lequel se base le camembert (c'est-à-dire des cellules de la feuille excel).

    J'ai essayé avec les lignes de commandes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With Worksheets(2).ChartObjects(1).Chart.SeriesCollection(1)
        .HasDataLabels = True
        .DataLabels.Position = xlLabelPositionBestFit
        .HasLeaderLines = True
        .LeaderLines.Border.ColorIndex = 5
    End With
    mais ça ne donne rien, le code échoue sur "LeaderLines.Border.ColorIndex = 5"
    ...

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Je constate (après test) que tu à reproduit exactement la fonction de MSN aide, toutefois, je pense que les constantes tel que xlLabelPositionBestFit
    ne font que déterminer - à gauche - a droite - en bas - en haut -a gauche , et qu'elle ne conditionnent en rien la position réelle des labels.
    Et je pense aussi, que les positions sont déterminées par Excel et que le seul moyen de les déplacer est en manuel. J'ai déjà eu ce problème et avant de les imprimer je mettait les labels en bonne position. Si le fichier est sauver, ces nouvelles positions sont enrégistrées.
    A+

  5. #5
    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
    Par défaut
    Le problème est la modification des données. L'adaptation des étiquettes au graphe modifié ne se fait pas (apparemment) Ce que tenterais, une fois les données mises à jour, c'est supprimer tes étiquettes par soft avant de les remettre. Excel devrait ranger tout ça de manière automatique comme il sait bien le faire manuellement.
    A tout hasard...

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    bonsoir,
    désolé ouskel'n"or, mais pour une fois je connais bien le problème, l'ayant eu à mainte et mainte reprises, et excel met les 'labels' d'une certaine façons et pas moyen de les changer si ce n'est en manuel. Je n'ai pas trouvé de possibilité de les alignés, et en plus sur quel critères ?
    A+

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

Discussions similaires

  1. Graphique-Camembert d'access vers Excel
    Par pafi76 dans le forum Access
    Réponses: 1
    Dernier message: 22/07/2006, 15h44
  2. [VBA-E]Deplacer un graphique sous Excel
    Par gaudy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/04/2006, 06h43
  3. [VBA-E]Copie graphique de excel vers word
    Par conconbrr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2006, 10h49
  4. probleme de graphique avec excel
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 12h17
  5. Générer des données sous forme de graphiques (comme excel)
    Par matterazzo dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/10/2005, 19h21

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