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

Excel Discussion :

Explication ligne de code


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Explication ligne de code
    Bonjour,
    Je suis en train de faire un graphique sur excel en utilisant VBA. Mon problème vient de ce ligne de code que j'ai copié depuis une autre programme mais je comprendre pas. Est ce que quelqu’un pourra m'expliquer?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set objChart = ActiveSheet.ChartObjects(1).Chart
    Le numero (1) dans ChartObjects, ça sert à quoi?

    Merci

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Le (1) correspond à un des nommages des graphiques... si tu n'as qu'un graphique, la valeur doit être (0).


    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par zoom61 Voir le message
    Le (1) correspond à un des nommages des graphiques... si tu n'as qu'un graphique, la valeur doit être (0).


    @+.
    Salut, Merci pour ta réponse. En effet, j'ai qu'un graphique, j'ai suivi ton conseille, j'ai mis zero (0), mais j'obtient toujours le même erreur : Erreur d’exécution 1004.

    Tu pourras me donner une autre idée?
    Merci

  4. #4
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    bonjour,


    Il semble que tu utilise ActiveSheet cela est possible si tu maîtrise bien l'utilisateur de ta macro mieux vaux spécifier la feuille à utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkBook.sheets("LeNomdeMaFeuille").ChartObjects(0).Chart
    ensuite est-tu sur que ta feuille comporte bien un graphique ? tu peu aussi tester cela en début de macro.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par bbil Voir le message
    bonjour,


    Il semble que tu utilise ActiveSheet cela est possible si tu maîtrise bien l'utilisateur de ta macro mieux vaux spécifier la feuille à utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkBook.sheets("LeNomdeMaFeuille").ChartObjects(0).Chart
    ensuite est-tu sur que ta feuille comporte bien un graphique ? tu peu aussi tester cela en début de macro.
    Salut,
    Merci por ton aide mais ça pas marché ta solution

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub DynamicChart()
        ' Adjusts the embedded chart on Sheet3.
        Dim objChart As Chart, objChObject As ChartObject
        Dim objSelection As Range, objSrcData As Range, objCategories As Range
        Dim r As Long, c As Long
     
        ' Activate the sheet that contains the chart.
        ActiveWorkbook.Sheets(6).Activate
     
        ' Access the chart from the ChartObject collection
        ' of the active sheet.
        'Set objChart = ActiveSheet.ChartObjects(0).Chart
        'Set objChart = ThisWorkbook.Sheets(6).ChartObjects(0).Chart
         ThisWorkbook.Sheets(6).ChartObjects(0).Chart
     
        Set objSelection = Application.InputBox(Prompt:="Select entire rows or columns to chart", _
            Default:=Selection.Address, _
            Type:=8)
     
        ' Determine whether the user selected more rows or columns,
        ' and then use either the first row or first column
        ' as the range for categories.
        r = objSelection.Rows.Count
        c = objSelection.Columns.Count
        If r > c Then
            Set objCategories = Range(Cells(1, 1), Cells(r, 1))
        Else
            Set objCategories = Range(Cells(1, 1), Cells(1, c))
        End If
     
        Set objSrcData = Union(objCategories, objSelection)
        objChart.SetSourceData objSrcData
    End Sub
    Je pense que le problème vient de:
    ThisWorkbook.Sheets(6).ChartObjects(0).Chart

    est ce que vous avez quelque idée?

    Je vous remercie par avance

  6. #6
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut


    tu as oublié :

  7. #7
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par bbil Voir le message


    tu as oublié :
    Oui, j'ai bien vérifié:
    Set objChart = ThisWorkbook.Sheets(6).ChartObjects(0).Chart
    Mais ça marche pas.

    Mais quand tu me demande si ma feuil comporte bien un graphique, tu veux dire quoi?

    Merci

  8. #8
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par alonet Voir le message
    Mais ça marche pas.
    Cela je n'en doute pas ton classeur n'as pas de jambes (je suis allergique à la phrase "ça ne marche pas"...)



    Citation Envoyé par alonet Voir le message
    Mais quand tu me demande si ma feuil comporte bien un graphique, tu veux dire quoi?
    eh bien ton code essai d'accéder au graphique contenu dans ta feuille de rang 6 ... je te demande juste si tu as bien un graphique dans cette feuille ...

  9. #9
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par bbil Voir le message
    Cela je n'en doute pas ton classeur n'as pas de jambes (je suis allergique à la phrase "ça ne marche pas"...)





    eh bien ton code essai d'accéder au graphique contenu dans ta feuille de rang 6 ... je te demande juste si tu as bien un graphique dans cette feuille ...
    Ahh ok. c'est à cause de ça alors.... Je n'ai pas de graphique dans la feuil 6. C'est bien ta réponse. Mais, comment je pourrais créer un graphique lors on fait click sur le bouton.
    Je voudrais garder le même code, sauf que j'aimerai créer le graphique dans la feuil active.

    Merci

  10. #10
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    La feuille active c'est activeSheet.

    @+.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  11. #11
    Membre à l'essai
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par zoom61 Voir le message
    La feuille active c'est activeSheet.

    @+.
    Ok merci pour votre aide

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

Discussions similaires

  1. [XL-2007] Explication ligne de code Lastlig
    Par Esak59 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/02/2011, 16h07
  2. explication ligne de code
    Par arni63 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/08/2010, 16h00
  3. Explication d'une ligne de code
    Par Deejoh dans le forum Langage
    Réponses: 2
    Dernier message: 02/02/2007, 12h31
  4. [TAPI]Explication d'une ligne de code
    Par Pmatt dans le forum C
    Réponses: 7
    Dernier message: 15/01/2007, 19h57
  5. [Tableaux] Explication d'une ligne de code
    Par eXiaNazaire dans le forum Langage
    Réponses: 3
    Dernier message: 30/03/2006, 13h09

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