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 :

Probleme concernant l'insertion de graphique [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Probleme concernant l'insertion de graphique
    Bonjour à tous,

    je dispose de deux colonnes de données que je dois synthetiser dans un graphique. j'ai donc réalisé l'action manuellement : j'ai selectionné les colonnes concernées, choisi le style, et modifié les dimensions du graphique. Voici le programme obtenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub graph()
       Range("C1:D29").Select
        ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.SetSourceData Source:=Range("Feuil5!$C$1:$D$29")
        ActiveChart.ClearToMatchStyle
        ActiveChart.ChartStyle = 207
        ActiveSheet.Shapes("Graphique 1").ScaleWidth 1.45625, msoFalse, _
            msoScaleFromTopLeft
        ActiveSheet.Shapes("Graphique 1").ScaleHeight 1.2413192622, msoFalse, _
            msoScaleFromBottomRight
        End Sub
    J'ai deux problèmes :

    1) dans ce cas particulier, je n'ai que 28 données à traiter, mais ce code la ne marchera pas si j'ai un nombre different de données à traiter. N'y a t-il pas moyen de remplacer la ligne "Range("C1:D29").Select" par une autre commande ? j'ai bien essayé de remplacer par Range("C1:D65536"), mais le programme prend du coup des données vides et le resultat est inutilisable

    2) l'éxecution de la 7ème ligne fait planter le programme. Apparemment, un objet inconnu y est utilisé, mais je trouve ça étrange qu'une macro faite à la main ne remarche pas après coup..

    Voila, je remercie d'avance ceux qui auront la grande gentillesse de me repondre

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nbLignes = cells(rows.count, "C").end(xlup).row
    Ensuite tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SetSourceData Source:=Range("Feuil5!$C$1:$D$" & nbLignes)
    Même chose ailleurs ou tu as le nombre de lignes
    MPi²

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Bonjour parmi,

    sur vos conseils, j'ai mis les lignes de codes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim nbLignes As Integer
        nbLignes = Sheets("Feuil5").Cells(Rows.Count, "C").End(xlUp).Row
     
     
        Sheets("Feuil5").Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.SetSourceData Source:=Range("Feuil5!$C$1:$D$" & nbLignes)
    Néanmoins, l'execution de la derniere ligne fait planter le code et me renvoie une erreur d'execution 1004

    Sauriez vous pourquoi ? Je vous remercie d'avance pour votre aide

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    enlève le 2 ici
    AddChart2

    Autrement, je viens de faire le test et ça fonctionne bien.

    Mais peut-être que tes données ne sont pas en colonne C ?
    nbLignes = Sheets("Feuil5").Cells(Rows.Count, "C").End(xlUp).Row
    MPi²

  5. #5
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2014
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Non, ca ne marche décidément pas chez moi.. Etrange !

    quoiqu'il en soit, je m'en suis sorti en procédant ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim graph As Chart
          Set graph = Charts.Add
     
     
     With graph
        .SetSourceData Source:=Sheets("Feuil5").Range("Feuil5!$C$1:$D$" & nbLignes)
        .ClearToMatchStyle
        .ChartStyle = 207
    End With
    je vous remercie enormement pour votre aide

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

Discussions similaires

  1. Probleme concernant le calcul d'une requete nulle
    Par oxoa64 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 26/07/2006, 17h10
  2. Probleme de requete 'Insert Into'
    Par azerty53 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2006, 14h33
  3. probleme dans un INSERT INTO...........SELECT
    Par briiice dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/01/2006, 15h13
  4. [Refresh] Probleme de mise a jour graphique
    Par Clorish dans le forum Composants VCL
    Réponses: 4
    Dernier message: 25/07/2005, 18h44
  5. Probleme pour les insertion au format etranger
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 19/03/2003, 10h55

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