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

VB 6 et antérieur Discussion :

[VB6] ActiveChart se rebelle!


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 20
    Par défaut [VB6] ActiveChart se rebelle!
    OK ma question sur les macros étaient un peu naïve mais en fait j'ai créé une macro pour éviter le bug suivant. J'aurais besoin de votre pour le résoudre, svp. Il s'agit d'un programme sur VB6 et non VBA.

    Dans une 1ère procédure j'ouvre un classeur Excel déjà existant et je fais un graphique. Puis je copie ce graphique et dans la procédure suivante je le colle sur Word.
    Le pb c'est que dans la 1ère procédure j'ajuste l'axe des ordonnées en fonction de valeurs extrêmes "haut" et "bas" de telle sorte que le graphique soit un minimum lisible !!!
    A la première utilisation du programme tout marche bien dès la 2e c'est le drame ! Ça coince au niveau du "Activechart".
    Je me suis dit que ça venait peut-être du fait que le graphique collé sur le document Word était aussi reconnu comme un Activechart et vu que le document n'est pas forcément fermé eh bien le programme ne sait plus où aller.

    Je voudrais donc savoir si je pouvais "désactiver" le graphique collé sur Word de telle sorte que VB ne le détecte pas comme "activechart".

    Voici la 1ère procédure :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    Public Sub graphe()
     
    Dim appExcel As Object
    Dim book As Object
    Dim sheet As Object
     
    Set appExcel = CreateObject("Excel.Application")
    appExcel.Visible = False
    'ouvrir le classeur Excel pré-existant
    Set book = appExcel.Workbooks.Open("C:\classeur1.xls")
    Set sheet = book.Worksheets(1)
     
    'j'envoie des données dans les cellules et le graphique déjà préparé se trace tout seul comme un grand...
    'mais il faut ajuster l'axe des ordonnées pour que le graphe soit lisible !
     
    'Pour ce faire, je mets :
    ActiveChart.Axes(xlValue).Select 'c'est là que tout s'écroule... pfff!!!
    With ActiveChart.Axes(xlValue)
    .MinimumScale = CInt(bas) - 5
    .MaximumScale = CInt(haut) + 5
    .MajorUnit = 2.5
    .Crosses = xlCustom
    .CrossesAt = CInt(bas) - 5
    .ScaleType = xlLinear
    End With
     
    'copier le graphique afin de le coller dans Word
    sheet.ChartObjects("Graphique 1").Copy
     
    'fermer excel
    book.Close False
    DoEvents
    appExcel.Quit
    DoEvents
     
    Set sheet = Nothing
    DoEvents
    Set book = Nothing
    DoEvents
    Set appExcel = Nothing
    DoEvents
     
    End Sub
    J'ai essayé de mettre ceci avant "With ActiveChart.Axes(xlValue)" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.Axes(xlValue).Select
    Mais rien n'y fait ! Mes graphiques sont maudits ! La seule différence c'est que le bug se situera à "ActiveChart.ChartArea.Select".


    HELP!!!

  2. #2
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 20
    Par défaut
    bon j'ai fini par trouver. il faut remplacer "ActiveChart" par "sheet.ChartObjects("Graphique 1").Chart" et ça marche du feu de dieu !

    Mais encore fallait-il savoir que cette écriture était possible...

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

Discussions similaires

  1. [CR][VB6] Impression d'un état depuis VB
    Par sda dans le forum SDK
    Réponses: 3
    Dernier message: 06/02/2007, 17h27
  2. [VB6] mettre en commentaires...
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2004, 15h15
  3. [VB6] [MDI] Signaler la fermeture d'une fille à la mère
    Par cpri1shoot dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/04/2004, 08h57
  4. Réponses: 1
    Dernier message: 22/08/2002, 17h00
  5. [Crystal Report][VB6] instruction PrintReport
    Par yyyeeeaaahhh dans le forum SDK
    Réponses: 4
    Dernier message: 29/07/2002, 14h58

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