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 :

Code pour graphe?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut Code pour graphe?
    Bonjour,

    J'ai un tableau sur une feuille excel. A partir de ce tableau, je viens tracer un graphe automatiquement à l'aide d'une macro.
    Tout marche pour le mieux, pourquoi ce post alors...Suspens
    Je met une image du tableau et du graphe.
    La ligne Cumul réalisé est en abscisse
    Les lignes %réalisé et % chiffré sont en ordonnée

    J'aimerai rajouter la ligne semaine quelque part sur ce graphe pour que l'on puisse voir sur le graphe quand ont été réalisées les heures.

    Je suis ouvert à toute proposition, j'ai penser à mettre la ligne semaine en étiquette de donnée sur %Réalisé, mais je ne sais pas comment faire. D'ailleur je n'y arrive même pas manuellement.

    Je sais que sous excel 2007 on peut ajouter le tableau de données (ce qui me conviendrai aussi) sous le graphe, mais je suis sous 2003 et je ne sais pas si c'est possible, et encore une fois même manuellement je n'ai pas trouvé.

    Enfin j'aimerai connaitre le code pour ajouter une zone de texte sur mon graphe et la remplir. J'ai essayé d'enregistrer manuellement une macro et de voir ce que ça fait mais ça ne donne rien de bon.
    J'envisage eventuellement de mettre la ligne semaine dans la zone de texte (créer un tableau de donné artificiellement).

    Si vous avez un lien vers un site qui explique tout ça je suis preneur, j'ai trouvé un tuto sur ce site mais il n'y a pas ce que je souhaite.

    Merci

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Une solution assez simple serait de l'ajouter à ton titre, non?
    Essaies avec l'enregistreur, tu verras c'est simple, sinon reviens ici.

    A+

  3. #3
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Oui c'est une solution pour le tableau de données.

    Et pour inserer une zone de texte par macro une idée du code?

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Re,
    Dans ton image j'avais vu un "cadre" avec (11) pose ceramique, c'est bien le titre de ton graphique, donc si tu lui ajoute le numéro de semaine que tu récupère par une variable, c'est OK.

    Sinon, je vois pas trop ce que tu entends pas zone de texte mais tu peux toujours insérer un "label" par exemple, le tout est de bien le positionner sur ton graph. (encore une fois essaies avec l'enregistreur)

    J'ai quand même relu ta question initiale et si tu veux mettre le tableau de données tu dois aller dans les options du graphique et prendre le dernier onglet tableau de donnée (enfin je pense car je suis en anglais et c'est "Data Table" là tu lui indique de le montrer.

    A+

  5. #5
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    J'ai bien l'onglet etiquette de données, mais je ne peux que mettre les valeurs de x ou de y sur chaque point.
    Visiblement on ne peut pas ajouter de zone de texte sous excel 2003, je pensais que sur un graphique on pouvait faire inserer zone de texte et ecrire ce que l'on voulait, un peu comme dans powerpoint.
    Sinon pour les numeros de semaine c'est pas ça l'idée:
    Chaque point du graphique corespond à des heures de travail réalisées. Ces heures ont été réalisées à une semaine donnée. J'aurai voulu qu'apparaise, à coté de chaque point un truc comme
    Je viens de trouver le truc pour la zone de texte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    With graphe
        .Shapes.AddTextbox.Select
        Selection.Characters.Text = "coucou je suis une zone de texte"
        Selection.AutoScaleFont = False
        With Selection.Characters(Start:=1, Length:=32).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
    end with
    ce code est généré automatiquement je vais essayer de l'optimiser un peu

  6. #6
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Ha OK, j'étais à côté

    Pourquoi pas ajouter une courbe lié à ta ligne semaine, dans le format des données tu affiches le nom et la valeur, ensuite tu mets la ligne sur "rien" (traduction approximative je suis en version GB).
    Je pense qu'il y a même moyen de l'aligner sur l'axe des abscisses en utilisant les données se croisent à ... (mais je te dis ça de mémoire donc à vérifier)
    En espérant avoir été clair et trouvé une parade qui te convienne...
    A+

    Citation Envoyé par diude54 Voir le message
    Je viens de trouver le truc pour la zone de texte:
    Re,
    Nos messages se sont croisés mais je crois que tu auras le même soucis qu'avec l'idée du Label, il faudra les positionner correctement...
    J'attends ta solution finale
    A+

    Edit: Entretemps j'ai quand même regardé si ma proposition tenais la route, voici ce que j'obtiens (rapidement) il y a surement moyen de faire mieux ... et ça évite une macro.

  7. #7
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Voici ce que j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    With graphe
        .Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 55, 50, 50).Select
        Selection.AutoSize = True
        Selection.Characters.Text = "Ecart par raport à l'objectif: " & EcartObj_a_fin & "h" & Chr(10) & "Pourcentage d'écart par rapport à l'objectif: " & PEcartObj_a_fin & "%" & Chr(10) & "Semaine de Début: " & SMin & "  Dernière semaine: " & SMax & Chr(10) & "Prévisonel à fin: " & Prév_a_fin & "h" & Chr(10) & "Objectif: " & Objectif & "h"
        With Selection.Characters.Font
            .Name = "Times New Roman"
            .FontStyle = "Gras"
            .Size = 10
            .Shadow = True
        End With
    End With
    Sinon ce que tu as fait est pas mal, mais je n'y parviens pas.
    Je sais pas comment tu a fais, tu voudrais pas me mettre ton fichier excel plutot s'il te plait?

Discussions similaires

  1. [XL-2010] Code pour rajouter du pourcentage dans un graphe sur excel VBA
    Par darkryn dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/06/2012, 13h31
  2. code pour fermer un formulaire
    Par rippey dans le forum IHM
    Réponses: 2
    Dernier message: 21/10/2003, 15h51
  3. [Lomboz] Génération de code pour EJB
    Par paikan dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/07/2003, 14h28
  4. Réponses: 2
    Dernier message: 01/04/2003, 22h09
  5. code pour interbase 6.0 et 6.5 de generateur
    Par tripper.dim dans le forum InterBase
    Réponses: 4
    Dernier message: 01/07/2002, 11h29

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