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 :

Aide au graphe [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 67
    Par défaut Aide au graphe
    Bonjour,


    J'ai essayé de poster un premier message, sans succès. J'essaie donc avec un autre truc. Je m'entraine à générer automatiquement un graphe à partir d'un tableau de données.

    Le pb, c'est que je veux tout sélectionner. En sélectionnant tout (xldown + xl right), l'ordinateur enregistre la dernière cellule comme une cellule fixe.

    Ce que je veux, c'est que si je rajoute des données dans mon tableau, la dernière cellule ne soit pas celle qui avait été enregistrée à l'origine mais la nouvelle cellule après modification.

    Voici mon code:
    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
    18
    19
    20
    21
    Sub Graphe()
    Dim i As Integer
    Dim MaPlage As Range
     
     
     
        Range("A1").Select
        Set MaPlage = Range("A1:B7")
        i = MaPlage.Cells.Count
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.SetSourceData Source:=Worksheets(Feuil1).Range(Cells(1, 1), Cells(i))
        ActiveChart.ChartType = xlLine
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
     
            With ActiveChart
                .HasTitle = True
                .ChartTitle.Characters.Text = "Nbre de cotations"
            End With
    End Sub
    Dans ce code, ça bug au niveau du ActiveSheet.Shapes.AddChart.Select : il me mettent erreur 1004. Qu'est-ce qui ne va pas?

    Pouvez-vous m'aider svp?

    Merci d'avance

  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
    Bonjour Coklin,
    J'ai d'abord une question, veux tu à chaque fois créer un graphique ou peux tu te contenter d'adapter la source de donnée ?

    Sinon, quoi qu'il en soit, voici déjà une astuce pour définir la zone de ton tableau, en effet les select sont à éviter:
    Pour trouver la dernière ligne utilisée, renvoi un nombre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbLigne = Sheets("TaFeuil").UsedRange.Rows.count
    Pour la dernière colonne, même principe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbCol = Sheets("TaFeuil").usedRange.columns.count
    Testes déà ça pour voir si ça te renvoi le bon numéro de colonne et de ligne selon ton tableau.
    Ensuite, je te propose d'utiliser l'enregistreur de macro pour modifier la source de donnée, tu n'auras qu'à ensuite adapter avec les variables (comme tu as déjà fait)
    Si tu bloques dis le...
    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 67
    Par défaut
    Merci de ton aide,


    J'ai utilisé ta petite astuce pour identifier le nombre de lignes et de colonnes, et j'ai vérifié avec un espion. Ca marche.

    Mon pb reste le même, le programme bloque à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes.AddChart.Select
    Je ne sais pas ce qui fait bugger le programme.

    As-tu une idée?

    Merci d'avance

    Coklin

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes.AddChart.Select
    Tu ne peux pas utiliser adchart.select
    Tu ne peux pas ajouter et selectionner
    enlève le .select

    Comme toujours le select sont a éviter tu devrais apprendre a t'en passer, mais c'est un avis personnel

    Le graph ajouter est automatiquement le activechart pas besoin de sélectionner

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 67
    Par défaut ajout des balises de code (sélection du code + # au dessus de la fenêtre de rédaction
    J'ai enlevé le .Select et je prends note de ton conseil. J'ai encore des progrès à faire.

    Toutefois, le même problème persiste, avec la même erreur qui s'affiche.

    Pour rappel, voici mon code:

    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
    18
    Sub Graphe()
    Dim i As Integer
    Dim MaPlage As Range
        Range("A1").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
        NbLigne = Sheets("Feuil1").UsedRange.Rows.Count
        NbCol = Sheets("Feuil1").UsedRange.Columns.Count
        ActiveSheet.Shapes.AddChart
        ActiveChart.SetSourceData Source:=Worksheets(Feuil1).Range(Cells(1, 1), Cells(NbLigne, NbCol))
        ActiveChart.ChartType = xlLine
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
     
            With ActiveChart
                .HasTitle = True
                .ChartTitle.Characters.Text = "Nbre de cotations"
            End With
    End Sub
    Je ne comprends pas pquoi le ActiveSheet.Shapes.AddChart bug alors qu'avant que je ne cherche à faire ce que je veux, ça fonctionnait.

    Any idea?

    Merci encore

    Coklin

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Ton premier progère mettre les balise code. C'est pénible d'avoir a lire des code ainsi et les modérateur ont autre chose a faire que de les rajouter a ta place.
    Si tu ne sais pas le faire regarde le tout premier poste du forum
    Bivenvenue sur le forum aide a l'utilisation (ou quelque chose que y ressemble)
    Il y a a la fin une explication très claire.
    Et édit ton message pour les rajouter toi même.

    Pour en revenir a ton code ou se trouve-t-il un module standar le module de la feuille.

    Essaye de remplacer
    par

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

Discussions similaires

  1. Aide probleme graphe
    Par nhan57 dans le forum Prolog
    Réponses: 5
    Dernier message: 07/05/2014, 10h57
  2. [XL-2010] Aide sur graph dans excel
    Par jessfranzle dans le forum Excel
    Réponses: 1
    Dernier message: 01/08/2013, 09h14
  3. [XL-2010] Aide pour graph
    Par Djohn dans le forum Excel
    Réponses: 1
    Dernier message: 16/01/2012, 14h57
  4. aide pour graphe
    Par sukhoimk dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 16/12/2010, 23h21
  5. [AIDE]Graphe déroulant Visual C++
    Par NicoGui69 dans le forum MFC
    Réponses: 4
    Dernier message: 16/08/2006, 18h51

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