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 / Fichier Excel


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut VB6 / Fichier Excel
    Bonjour à tous,

    je développe actuellement (en VB6) une application permettant de transferer automatiquement des graphiques issus d'un fichier Excel (.xls) vers un fichier PowerPoint (.ppt). J'arrive à transferer un graphique et à le mettre la ou je désire l'insérer dans mon ppt.

    Cependant, le fichier Excel possédent des macros complémentaires qui permettent de mettre a jour le graphique (au niveau des courbes, des axes des abscisses et des ordonnées). Et je n'arrive pas à activer ces macros complémentaires par le code.

    Mon code marche, mais le graphique n'est pas a jour. 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Private Sub btnTraiter_Click()
        Dim xlsApp As Excel.Application
        Dim xlsBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
     
        Dim pptApp As PowerPoint.Application
        Dim pptPoint As PowerPoint.Presentation
        Dim nbShpe As Byte
     
        If tbXls.Text <> "" And tbPpt.Text <> "" Then
            'Xls
            Set xlsApp = New Excel.Application
            Set xlsBook = xlsApp.Workbooks.Open(tbXls.Text)
            Set xlSheet = xlsBook.Worksheets("CR")
            xlsApp.Visible = True
            'Ppt
            Set pptApp = New PowerPoint.Application
            pptApp.Visible = True
            Set pptPoint = pptApp.Presentations.Open(tbPpt.Text)
     
            Set xlSheet = xlsBook.Worksheets("CR")
            'xlSheet.Cells(4, 1).Value = "CATP"
            'If xlSheet.Cells(4, 1).Value = "CATP" Then
                Call positionGraph
                Range("C3:H16").Select
                Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
                With pptPoint.Slides(3)
                    .Select
                    .Shapes.Paste.Select
                End With
                pptApp.ActiveWindow.Selection.ShapeRange.Left = 5
                pptApp.ActiveWindow.Selection.ShapeRange.Top = 270
            'End If
        Else
            MsgBox "Veuillez séléctionner un fichier Excel (.xls)"
            Exit Sub
        End If
     
        Application.DisplayAlerts = False
        Set xlSheet = Nothing
        Set xlsBook = Nothing
        Set xlsApp = Nothing
        'Excel.Application.Quit
     
        Set pptPoint = Nothing
        Set pptApp = Nothing
        'PowerPoint.Application.Quit
     
        MsgBox "Transfert Excel --> PowerPoint OK", vbInformation, "Tableau de bord BAM"
    End Sub
     
    Sub positionGraph()
        With ActiveSheet.ChartObjects(1)
            .Left = Range("C3:H16").Left
            .Top = Range("C3:H16").Top
            .Width = Range("C3:H16").Width
            .Height = Range("C3:H16").Height
        End With
    End Sub
    Pour information : Lorsque j'ouvre mon fichier Excel, une boite de dialogue me demande si je veux activer ou non les macros. Alors que lorsque je passe par mon application VB6, le code lance le fichier Excel en question mais aucune boite de dialogue apparait.

    Cordialement.

  2. #2
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut VB6 / Fichier Excel
    Bonjour à tous,

    As-tu vérifier dans
    Menu OUTILS,
    puis MACRO,
    puis Sécurité...
    et enfin l'onglet "Éditeurs éprouvés" que "Faire confiance au projet Visual Basic" est bien coché ??

    Ceci est valable pour tous les produits microsoft, en tout cas de la version Office 2003.

    Bonne journée.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Bonjour faroukvazaha,

    Je viens de regarder ce que tu viens de me proposer. Donc, dans l'onglet "Éditeurs éprouvés" et la case "Faire confiance au projet Visual Basic" est bien coché.

    Donc je suppose que le probleme ne vient pas de la.

    As-tu d'autres idées?

    Cordialement.

  4. #4
    Membre régulier
    Homme Profil pro
    Retraité
    Inscrit en
    Février 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Février 2006
    Messages : 70
    Points : 71
    Points
    71
    Par défaut VB6 / Fichier Excel
    Bonjour,
    Peut-être qu'en fouillant par là, tu trouveras ton bonheur ?

    http://powerpoint.developpez.com/faq...excelLuDansPPT

    Bon courage

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Bonjour,
    Je viens de regarder ton lien, mais dans ma situation il ne me sert pas.

    Merci pour ton aide.
    Je vais continuer à chercher un moyen d'activer les macros.


    Cordialement

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Je reviens vers vous car j'ai trouvé une solution (bidouille) qui me permet d'ouvrir mon fichier Excel avec les graphs correctement affichés. Cependant, maintenant je ne sais pas comment récupérer les informations qui m'interssent pour ensuite les envoyer sur mon powerPoint.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    'Excel
        Set WshShell = CreateObject("Wscript.Shell")
        WshShell.RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level"), "1", "REG_DWORD"
        WshShell.Run ("Excel.exe " & pathFileCourbe)
     
        'PowerPoint
        Set pptShell = CreateObject("Wscript.Shell")
        pptShell.RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Security\Level"), "1", "REG_DWORD"
        pptShell.Run ("POWERPNT.exe " & pathFilePPT)
    Mes deux fichiers s'ouvrent correctement. Mais j'aimerai pouvoir récuperer l'information de mon .xls qui se situe à cet endroit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Worksheets("CR").Range("C3:J25").Select
    Merci pour votre aide.
    Cordialement.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2008
    Messages : 119
    Points : 50
    Points
    50
    Par défaut
    Bonjour a tous,

    J'ai trouvé la solution. Par conséquent, je viens la poster.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     Set WshShell = CreateObject("Wscript.Shell")
     intReturn = WshShell.Run("Excel.exe " & pathFileCourbe, 1, False)
    'pathFileCourbe = chemin d'accés au fichier Excel à ouvrir
     
    Set xlsAppCourbe = GetObject(, "Excel.Application")
    If xlsAppCourbe Is Nothing Then
         Set xlsAppCourbe = CreateObject("Excel.Application")
         xlsAppCourbe.Visible = True
    End If
    Set xlsBookCourbe = xlsAppCourbe.Workbooks(varXlsWK_Courbe)   'varXlsWK_Courbe = Nom du fichier ouvert ex: xlsAppCourbe.Workbooks(fichier1.xls)fichier1.xls
    Set xlSheetCourbe = xlsBookCourbe.Worksheets(varXlsWS_Courbe)  'varXlsWS_Courbe = Nom de la Feuille ex: xlsBookCourbe.Worksheets(Feuil1)
     
    'Il vous reste plus qu'a choisir la cellule ou la sélection qui vous intéresse.
    J'éspere que mes petites explications sont claire.

    Cordialement.

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

Discussions similaires

  1. [VB6] Fichier excel en lecture seul et détection fermeture
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/05/2006, 11h48
  2. [VB6] Problème de lecture d'un fichier excel
    Par Requin15 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/03/2006, 17h10
  3. [VB6] (Pilote Isam) Tester si un fichier excel est ouvert
    Par Requin15 dans le forum VB 6 et antérieur
    Réponses: 30
    Dernier message: 20/03/2006, 17h57
  4. [VB6]créer un fichier excel
    Par arakna dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 24/02/2006, 15h09
  5. [VBA-Excel,VB6,Fichier texte]enregistrer un classeur excel..
    Par Tarul dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/01/2005, 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