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 :

Piloter Excel via VB6


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 1
    Par défaut Piloter Excel via VB6
    Bonjour à toutes et tous, ceci est mon premier message.

    Pour info je programme en VB6 depuis plus de 10 ans.
    Mais là, je comprend pas.

    Voilà ce qui m’amène : Depuis VB, j’imprime une feuille Excel.
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim objxl As New Excel.Application
       With objxl
             Workbooks.Open ("\\BATAX352\Rapact\WorkOrder.xls")
             .Cells(17, 3) = Form1.Combo1
             .Cells(17, 5) = Form1.Text14
             .Cells(21, 3) = Form1.Text1 & ", " & Form1.Combo2 & ", " & Form1.Text6
             .ActiveSheet.PrintOut
             End With
    objxl.Windows(1).Close savechanges:=False
    objxl.Quit
    Ça fonctionne, mais une seule fois. Après, ça plante.
    ça re fonctionne alors, mais une fois, puis re boum.

    Vu que c'est sur réseau, j'ai essayé ailleurs. Même chose, une fois ok, après, fini.

    Erreur 1004 à la ligne : .Cells(17, 3) = Form1.Combo1
    Le pire, c'est que j'ai fais un copier/coller de ce code qui est hyper stable mais qui imprime une autre feuille Excel. J'ai juste modifié le nom du fichier et les cellules à imprimer.

    C'est fou.

    Une idée ?

    Merci, Benoît,

  2. #2
    Membre éclairé Avatar de petit rabot
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2010
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2010
    Messages : 236
    Par défaut
    J'ai essayé ceci, et ça marche autant de fois que je clic
    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
    Private Sub Command1_Click()
     
    Dim xlapp As Excel.Application  'Application Excel
    Dim xlbook As Excel.Workbook    'Classeur Excel
    Dim xlsheet As Excel.Worksheet  'Feuille Excel
    Dim i As Integer
    Dim Chemin As String
     
    Chemin = "\\BATAX352\Rapact\WorkOrder.xls"
     
    Set xlapp = CreateObject("Excel.Application")   'Ouverture de l'application Excel
    Set xlbook = xlapp.Workbooks.Open(Chemin)       'Ouverture d'un fichier Excel
    Set xlsheet = xlbook.Sheets("Feuil1")           'Ouverture de la feuille1 du fichier Excel
    xlapp.Visible = True                            'Rend visible l'pplication Excel
     
        xlapp.Cells(17, 3) = Form1.Combo1
        xlapp.Cells(17, 5) = Form1.Text14
        xlapp.Cells(21, 3) = Form1.Text1 & ", " & Form1.Combo2 & ", " & Form1.Text6
        xlapp.ActiveSheet.PrintOut
        xlapp.DisplayAlerts = False
        xlapp.Windows(1).Close savechanges:=False
        xlapp.Quit      'Quitte l'application Excel
     
        Set xlsheet = Nothing
        Set xlbook = Nothing
        Set xlapp = Nothing
     
    End Sub

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Par défaut
    je penses que ton application ne se ferme pas correctement. Comme elle n'est pas visible tu ne t'en rend pas compte et ton fichier reste en accès.
    un
    Set objxl = Nothing
    devrait t'aider,

    mais pour debugger tu devrais ajouter un objxl.visible = true pour voir ce qu'il se passe vraiment.

Discussions similaires

  1. [VBA] Piloter excel via BO, c'est possible?
    Par gillou13 dans le forum SDK
    Réponses: 0
    Dernier message: 12/05/2011, 15h30
  2. Piloter tableur OpenOffice via VB6
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/09/2007, 14h36
  3. Piloter Graph Excel via Access
    Par benjisan dans le forum VBA Access
    Réponses: 7
    Dernier message: 15/06/2007, 13h55
  4. Piloter excel via delphi
    Par sam_sonite dans le forum Delphi
    Réponses: 4
    Dernier message: 02/04/2007, 10h07
  5. Piloter Excel via Access
    Par elendila dans le forum Access
    Réponses: 3
    Dernier message: 12/07/2006, 17h29

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