Enregisrement automatique de fichier exel

Rimanta - 5 sept. 2013 à 17:38
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 6 sept. 2013 à 11:25
Bonjour,
Je suis débutante et j'ai le même problème mais dans les deux lignes
xlWorkSheet.SaveAs(chemin)
xlApp.Application.Quit()
Message d'erreur " xlWorkSheet n'est pas déclaré "et " xlApp n'est pas déclaré "! Pourquoi? Y a t il de bibliothèque à ajouter ?
Merci bien de m'aider

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
5 sept. 2013 à 19:04
Bonjour,

Regarder cette conversation, vous avez la réponse qui est la même pour Excel:

http://codes-sources.commentcamarche.net/forum/affich-1635019-pilotage-par-interop-vb-2010-word-2010
0
Rimanta Messages postés 1 Date d'inscription jeudi 5 septembre 2013 Statut Membre Dernière intervention 6 septembre 2013
6 sept. 2013 à 09:07
Bonjour,
Merci bien de votre attention,mais de même mon problème n'est pas résolu et pour mieux d'explication mon code est le suivant:

Dim saveFileDialog1 As New SaveFileDialog
saveFileDialog1.Filter = "Excel|*.xls|Texte|*.txt|Richtext|*.rtf"
saveFileDialog1.Title = "Sauver le fichier exporter sous ?"
saveFileDialog1.ShowDialog()
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
saveExcelFile(saveFileDialog1.FileName)
MessageBox.Show("Enregistrement terminé")
End If
--->saveExcelFile:fonction pour enregistrement
et ce code pour enregistrer ce fichier exel manuelement
mais je veux une enregistrement automatique.comment
Merci bien ami de me repondre
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
6 sept. 2013 à 10:15
Voici un code qui crée un classeur et l'enregistre:


Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Excel
Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        'Créer une instance d'Excel
        Dim ApExcel As New Excel.Application
        Dim xlWorkBook As Object
        xlWorkBook = CreateObject("Excel.application") 'creer un objet
        xlWorkBook = ApExcel.Workbooks.Add() 'cree un classeur pour enregistrement
        Dim sfd As New SaveFileDialog
        With sfd
            .Filter = "Excel|*.xls|Texte|*.txt|Richtext|*.rtf"
            .Title = "Sauver le fichier exporter sous"
            If .ShowDialog() = DialogResult.OK Then
                xlWorkBook.SaveAs(.FileName)
                MessageBox.Show("Opération réussie," & vbNewLine & "vous trouverez votre classeur dans le dossier: " & .FileName, "Enregistrer vers Excel", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
        End With
    End Sub
End Class

0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
6 sept. 2013 à 11:25
Une autre manière avec un classeur existant qu'il faut ouvrir avant l'enregistrement:

Option Strict On
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Excel
Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        'Créer une instance d'Excel
        Dim ApExcel As New Excel.Application
        Dim xlWorkBook As Excel.Workbook
        'Ouverture d'Excel
        ApExcel.Visible = True
        'Ouverture de mon classeur Excel
        xlWorkBook = ApExcel.Workbooks.Open("C:chemin classeur.xls")
        Dim sfd As New SaveFileDialog
        With sfd
            .Filter = "Excel|*.xls|Texte|*.txt|Richtext|*.rtf"
            .Title = "Sauver le fichier exporter sous"
            If .ShowDialog() = DialogResult.OK Then
                xlWorkBook.SaveAs(.FileName)
                MessageBox.Show("Opération réussie," & Environment.NewLine & "vous trouverez votre classeur dans le dossier: " & .FileName, "Enregistrer vers Excel", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
        End With
        ApExcel.Visible = False
        ApExcel.Quit()
    End Sub
End Class

0
Rejoignez-nous