1. #1
    Membre régulier
    Profil pro
    Inscrit en
    juin 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 344
    Points : 124
    Points
    124

    Par défaut Comment enregistrer un fichier Excel ouvert avec 'CreateObject("Excel.application")'

    Bonjour
    J'ai une application qui doit ouvrir un fichier Excel, y introduire des données et l'enregistrer sous un autre nom.
    Application dans laquelle j'ouvre un fichier Excel avec 'ApExcel = CreateObject("Excel.application")'
    - J'ouvre bien le fichier Excel
    - J'y introduit des donnée sans problème
    Mais pour l'enregistrer, malgré des jours de recherche sur le Net, je n'ai pas trouvé la commande pour.
    La commande 'ApExel.Workbooks.SaveAs(FileName:="Toto.xls") ne fonctionne pas

    Si quelqu'un a une idée, cela me rendra un grand service

  2. #2
    Expert éminent sénior
    Avatar de dysorthographie
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2012
    Messages
    9 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2012
    Messages : 9 065
    Points : 15 507
    Points
    15 507
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim xlExcel8 as integer= 56 
    dim Wb as object=ApExel.open("C:\Rep\Fichier.xlsx")
    Wb.SaveAs(FileName:="C:\Rep\Toto.xls",xlExcel8 )
    pour information CreateObject c'est du VB6 (Mais si c'est ton choix pas de problème)! si tu décoche la librairie Visual Basic ton programme explose! c'est ce que je fais systématiquement aux projets qu'on me présente!

    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
    Public Function GetObject(ByVal App As String) As Object
            Try
                Return Marshal.GetActiveObject(App)
            Catch ex As Exception
                Return CreateObject(App)
            End Try
     
     
        End Function
     
     
        Public Function CreateObject(ByVal app As String) As Object
            Dim AppType As Object = Type.GetTypeFromProgID(app)
            Dim ApplInst As Object = Activator.CreateInstance(AppType)
            Return ApplInst
        End Function
    Il dit non avec la tête
    mais il dit oui avec le coeur
    il dit oui à ce qu’il aime
    il dit non au professeur {Jacques PRÉVERT}

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    juin 2007
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2007
    Messages : 344
    Points : 124
    Points
    124

    Par défaut

    Oups! J'ai trouvé la solution pae hasard
    au lieu de faire :
    ApExcel.Workbooks.SaveAs(FileName:="Toto.xls")
    Il faut fair :
    ApExcel.Workbooks(1).SaveAs(FileName:="Toto.xls")
    Et là, je n'ai plus d'erreur
    Merci encore et mille excuses

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/06/2017, 08h46
  2. [Débutant] Comment enregistrer un fichier avec la date système dans le VB.NET
    Par hackoofr dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/03/2015, 09h55
  3. Réponses: 0
    Dernier message: 26/05/2009, 22h23
  4. Comment enregistrer un fichier au format 7 avec la version CS3 ?
    Par laurent.decastel dans le forum Flash
    Réponses: 1
    Dernier message: 27/12/2008, 20h52
  5. comment enregistrer un fichier excel avec le vba
    Par zaki_1982 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/04/2008, 18h09

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