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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Est-il possible de copier des données venant d'une database d'une appication en VB2008 vers un Fichier Excel ?
    Bonjour à tous,

    j'ai fait une petite application avec une petites base de données,
    maintenant je voudrait tranferer certaine données vers un fichier Exel,
    Tout d'abord je voudrais savoir si c'est possible?
    Si c'est possible j'aimerais savoir comment copier des données venant de la base de donnée vers le fichier Excel?
    Ce fichier Exel est déja existant,
    C'est un formulaire vierge qui me sert à commander des pièces.

    Je voudrai ne plus avoir à remplir ce formulair pour commander mes pièces détachées, je voudrai qu'à partir de mon application en cliquant sur une pièce dans le tableau des données, tous les renseignements se tranfèrent vers ce formulair (référence, description et quantité).

    D'avance merci.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Bonjour !

    Oui c'est fort possible... Récupérer les données de ta BDD, ça, ça devrait aller...

    Ecrire dans un fichier Excel, Y'a plein de tutorial, c'est pas forcement évident au début.

    Par contre écrire dans un fichier excel "typé", ajoute encore une dose de complexité.

    Si c'est juste pour faire un bon de commande... Pourquoi ne pas créer un document via vb directement. En utilisant Crystal repport par exemple...

    La se sera beaucoup plus facile je pense.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    utiliser les COM Interop n'a rien de bien méchant... faut pas pousser non plus.

    il n'a pas exigé expressément que le document généré, le soit en fonction de rien ou d'un modèle sans que Office ne soit installé sur la machine...

    utiliser Crystal Report n'est pas gratuit pour un usage professionnel, et ce n'est pas forcément évident, et ca ne répond pas forcément à ces besoins.

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Les COM Interrop avec Excel n'ont rien d'impossible mais on arrive à des merdes pas possibles avec des instances Excel qui restent ouvertes et bloquent des documents. Quand on est débutant on peux facilement s'y arracher les cheveux quelques jours!

    Sachant en plus que Excel n'est pas un outil de reporting et d'impression (même si on retrouve ce genre de solution de bracaillon bien trop souvent à mon goût), je pense que ce n'est pas déplacé de proposé d'autres alternatives!

    Alors je propose aussi:

    De charger les données directement depuis Excel dans le document à l'aide de VBA ou de VSTO.

    Si ta base de donnée est Sql Server, essaye de voir ce que tu peux faire avec SQL Reporting Services.

    Si ta base de donnée est Access, essaye de voir ce que peux faire les états d'impression d'access (même merde que de piloter Excel mais au moins t'as un truc prévu pour l'impression, pas une feuille de calcul)

    Crystal Report est difficile d'accès au début (lourd à mettre en place dans tout les sens du terme), mais c'est du solide et ça t'apporte une vrai compétance professionnel.

    A savoir que si tu travailles avec une version Express de Visual Studio tu peux laisser tomber la solution Crystal Report et SQL Reporting Services (pas sur pour cette dernière)

  5. #5
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Citation Envoyé par cinemania Voir le message
    utiliser les COM Interop n'a rien de bien méchant... faut pas pousser non plus.

    il n'a pas exigé expressément que le document généré, le soit en fonction de rien ou d'un modèle sans que Office ne soit installé sur la machine...

    utiliser Crystal Report n'est pas gratuit pour un usage professionnel, et ce n'est pas forcément évident, et ca ne répond pas forcément à ces besoins.
    Et cette réponse réponds à quel besoin ? En quoi elle apporte une réponse?

    +1 a Sinople pour toutes les solutions possibles

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    SQL Reporting Service n'est réellement disponible que sur les éditions Entreprise/Developper de SQL Server (au vue des tarifs de celles-ci, soit son entreprise à de sérieux besoins et ils l'ont acheté, soit il est dans une entreprise avec un accès MSDN, sinon c'est rappé.)

    On le trouve sur la version standard, mais comme le nom de la version le laisse sous entendre, ce n'est pas la peine d'en attendre tout ce qu'il est sensé pouvoir faire.
    Mais moi personnellement j'ai toujours été dans le cas d'un usage d'une Enterprise/Developper Edition donc...

    Pour ce qui est de Excel, suffit de lire le bon tuto qui t'apprend à bien ouvrir et bien fermer un excel... j'ai une procédure qui l'ouvre et le ferme proprement et ce sans avoir recours à des merdes comme charger la liste des taches et killer Excel...
    suffit juste de bien refermer/libérer les contextes de COM Interop.

    ca si il le veut, je peux lui fournir un exemple.
    maintenant effectivement il peut utiliser autre chose.

  7. #7
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    voila une solution à ton probleme

    disons que tu as un bouton "Enregistrer"

    alors a l'évènement Onclick du bouton tu devras faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    saveFileDialog1.Filter = "Facture test|*.csv"
            saveFileDialog1.Title = "Sauvegarde de la facture"
            saveFileDialog1.ShowDialog()
    Ce code t'ouvre une fenetre explorateur windows et te demande de choisir un fichier de type .csv (excel peut ouvrir ce format)

    ainsi, lorsque le fichier est choisis et que tu à cliqué sur ouvrir tu peux le remplir comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim fichierCSV as String
    writer = My.Computer.FileSystem.OpenTextFileWriter(saveFileDialog1.FileName, True)
     
    fichierCSV = "bla;bli"
    fichierCSV += "toto;"
    writer.WriteLine(fichierCSV)
    là tu viens de remplir un Excel de une ligne et 3 colonnes (bla, bli et toto)
    Comme tu peux le voir, le ";" sert a dire fin de la cellule Excel

    à present à toi de boucler sur tes données de BDD pour remplir la string "fichierCSV"

    n'oublie pas a la fin de faire
    ce code créé un fichier de zéro. Si tu veux continuer de remplir un fichier existant, c'est a peu pret le meme principe mais c'est a toi de chercher comment faire ^^
    (je me souviens plus tres bien)

    ++

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    cette solution créé un CSV... pas un fichier Excel... c'est pas tout à fait la même chose...

    cette solution est un peu une solution à la hongroise lol (pour ceux qui connaissent leur classiques)

  9. #9
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    J'en profite pour ajouter Automation de Word à la liste aussi!

    Pour la discussion sur Excel:

    Le dernier chapitre d'un bon tuto Excel expliquera quand même comment faire des process kill au cas où le reste marche pas.

    J'ai jamais dit que c'est pas faisable, c'est juste pas très propre et quand à dépenser du temps à apprendre à faire du reporting autant le faire bien (je suis d'accord que l'automation Excel est aussi une compétance utile, presque un rite iniatique même...).

    Et au passage mettre un article sur le sujet serait une excellente contribution (si c'est pas déjà fait), et je m'empresserais d'en charger une copie (surtout si ça traite de l'intégration dans un objet webbrowser)

    Merci pour les précisions concernant SQL Server Reporting Services. Est-ce que j'ose aller jusqu'à demander quel sont les limitations? Je connais pas trop l'application à mon grand regret.

  10. #10
    Membre du Club Avatar de yochima
    Profil pro
    Inscrit en
    Août 2009
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 93
    Points : 68
    Points
    68
    Par défaut
    cette solution créé un CSV... pas un fichier Excel... c'est pas tout à fait la même chose...

    les .csv et .xlsx représentent visuellement tout les deux un tableau dans Excel ...

    Le tableau excel désiré sera exactement le même en .csv et tout le monde pourra le lire de la même manière qu'un excel basique.

    Aucune différence visuelle pour le client.
    Donc aucune raison d'écarter cette solution (en tout cas pas pour cette raison)

    Si notre amis norddist souhaite juste être capable de générer un tableau qui pourra être lu et exploité dans excel, alors il pourra par ce moyen.

    Cordialement
    Yochima

  11. #11
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    Je doute sérieusement qu'on envoie un fichier tableur sans aucune mise en page à un fournisseur!

    Sauf dans le cadre d'une commande électronique.

    Vu qu'il y a la notion de formulaire vide, je pense que c'est plus remplir un fichier existant (avec entête & cie) plutot qu'un export "brut".

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    En fait le formulaire Excel est un tableau pré-rempli avec une entête biensur
    et bien évidemment 3 simples colonnes à remplir pour commander des pièces.
    les 3 colonnes sont:
    référence_produit;
    description;
    quantité.


    Ce tableau a les même champs que ma database.

    Ce formulaire ne m'appartient pas (il est fourni par le magasinier pour toute commande à passer), je dois l'utiliser telle quel et absolument
    l'utiliser pour toute commande. Donc utiliser un tableau fait sur VB2008 n'a pas de sens.
    Car ensuite, il utilise ce formulaire pour passer commande chez le fournisseur.

    Biensur la meilleur solution est que je n'ais pas à ouvrir Excel pour faire cela sinon quel interet!

    Si vous avez des tuto précis à me conseiller, ils sont les bien venus.

    Car dans toutes ces explications sur Sql Server et SQL Reporting Services,etc..., j'en perd le fil. Je suis qu'un amateur débutant en programmation database.

    Merci.

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    tiens pour bien commencer
    je te suggère de lire cet article sur developpez.net :

    Pilotage de l'application Office Excel (Excel Automation)

    c'est un bon début... quand tu l'auras lue je te donnerais un exemple de code permettant de fermer proprement Excel sans devoir sortir l'artillerie lourde totalement inutile du process kill.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par cinemania Voir le message
    tiens pour bien commencer
    je te suggère de lire cet article sur developpez.net :

    Pilotage de l'application Office Excel (Excel Automation)

    c'est un bon début... quand tu l'auras lue je te donnerais un exemple de code permettant de fermer proprement Excel sans devoir sortir l'artillerie lourde totalement inutile du process kill.
    sur l'article il n'y a que du C,
    sauf la fin où l'on parle de macro mais je croi que ça ne répond pas à ma question sauf si je me trompe.

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Comment exporter une datagridview sur un fichier Excel existant ?
    Bonjour à tous,

    J'apporte quelques précisions concernant ce sujet.
    Il y a bien sur le net pleins de tuto pour faire cela, mais l'exportation se fait toujours sur un nouveau fichier Excel.
    j'ai donc pris un tuto sur le net pour essayer de le modifier mais le tuto me crée toujours un nouveau fichier Excel (avec ma dgv).

    Moi je voudrais exporter la datagridview sur un fichier Excel que j'ai déja crée.
    voici le code que j'utilise et que j'aimerais modifier pour qu'il fasse l'exportation sur le fichier Excel (bon_de_commande.xlsx);
    chemin du fichier (bon_de_commande.xlsx): C:\Users\compaq\Desktop\projet_inventaire1

    j'utilise Visual basic 2008 edition express,
    et Excel 2007.

    d'avance un grand merci.

    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    '============================= code pour l'exportation ===================  
     
     Private Declare Function ShellEx Lib "shell32.dll" Alias "ShellExecuteA" ( _
        ByVal hWnd As Integer, ByVal lpOperation As String, _
        ByVal lpFile As String, ByVal lpParameters As String, _
        ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer
     
    'ByVal fileExtension As String, ByVal filePath As String)
     
        Private Sub Exporter_vers_excel_Click(ByVal Table_inventairDatagridView As DataGridView, ByVal bon_de_commande As String, ByVal xlsx As String)
     
            ' Choose the path, name, and extension for the Excel file
            Dim myFile As String = "C:\Users\compaq\Desktop\projet_inventaire1" & "\" & "bon_de_commande"
            ' & "xlsx"
     
            ' Open the file and write the headers
            Dim fs As New IO.StreamWriter(myFile, False)
            fs.WriteLine("<?xml version=""1.0""?>")
            fs.WriteLine("<?mso-application progid=""Excel.Sheet""?>")
            fs.WriteLine("<ss:Workbook xmlns:ss=""urn:schemas-microsoft-com:office:spreadsheet"">")
            ' Create the styles for the worksheet
            fs.WriteLine("  <ss:Styles>")
            ' Style for the column headers
            fs.WriteLine("    <ss:Style ss:ID=""1"">")
            fs.WriteLine("      <ss:Font ss:Bold=""1""/>")
            fs.WriteLine("      <ss:Alignment ss:Horizontal=""Center"" ss:Vertical=""Center"" " & _
                "ss:WrapText=""1""/>")
            fs.WriteLine("      <ss:Interior ss:Color=""#C0C0C0"" ss:Pattern=""Solid""/>")
            fs.WriteLine("    </ss:Style>")
            ' Style for the column information
            fs.WriteLine("    <ss:Style ss:ID=""2"">")
            fs.WriteLine("      <ss:Alignment ss:Vertical=""Center"" ss:WrapText=""1""/>")
            fs.WriteLine("    </ss:Style>")
            fs.WriteLine("  </ss:Styles>")
            ' Write the worksheet contents
            fs.WriteLine("<ss:Worksheet ss:Name=""Sheet1"">")
            fs.WriteLine("  <ss:Table>")
            For i As Integer = 0 To Table_inventairDatagridView.Columns.Count - 2
                fs.WriteLine(String.Format("    <ss:Column ss:Width=""{0}""/>", _
                Table_inventairDatagridView.Columns.Item(i).Width))
            Next
            fs.WriteLine("    <ss:Row>")
            For i As Integer = 0 To Table_inventairDatagridView.Columns.Count - 2
                fs.WriteLine(String.Format("      <ss:Cell ss:StyleID=""1"">" & _
                    "<ss:Data ss:Type=""String"">{0}</ss:Data></ss:Cell>", _
                    Table_inventairDatagridView.Columns.Item(i).HeaderText))
            Next
            fs.WriteLine("    </ss:Row>")
     
            ' Check for an empty row at the end due to Adding allowed on the DataGridView
            Dim subtractBy As Integer, cellText As String
            If Table_inventairDatagridView.AllowUserToAddRows = True Then subtractBy = 2 Else subtractBy = 1
            ' Write contents for each cell
            For i As Integer = 0 To Table_inventairDatagridView.RowCount - subtractBy
                fs.WriteLine(String.Format("    <ss:Row ss:Height=""{0}"">", _
                    Table_inventairDatagridView.Rows(i).Height))
                For intCol As Integer = 0 To Table_inventairDatagridView.Columns.Count - 2
                    cellText = Table_inventairDatagridView.Item(intCol, i).Value
                    ' Check for null cell and change it to empty to avoid error
                    If cellText = vbNullString Then cellText = ""
                    fs.WriteLine(String.Format("      <ss:Cell ss:StyleID=""2"">" & _
                        "<ss:Data ss:Type=""String"">{0}</ss:Data></ss:Cell>", _
                        cellText.ToString))
                Next
                fs.WriteLine("    </ss:Row>")
            Next
     
            ' Close up the document
            fs.WriteLine("  </ss:Table>")
            fs.WriteLine("</ss:Worksheet>")
            fs.WriteLine("</ss:Workbook>")
            fs.Close()
     
            ' Open the file in Microsoft Excel
            ' SW_SHOWDEFAULT = 10
            ShellEx(Me.Handle, "Open", myFile, "", "", 10)
     
        End Sub
     
        'pour l'exportation final de la gdv (j'ai crée ce 2ème bouton pour faire le transfer final vers le fichier Excel)
     
        Private Sub finalExportation_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles finalExportation.Click
     
            ' Call the export sub
            Exporter_vers_excel_Click(Table_inventairDataGridView, "exportedData", ".xlsx")
            ',_
            'My.Computer.FileSystem.SpecialDirectories.Desktop)
     
        End Sub

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 25
    Points : 20
    Points
    20
    Par défaut voici la solution venant d'un intervenant du site Microsoft
    bonjour à tous,

    voici la solution en 2 heures de discussion différée avec un intervenant du forum visual basic de Microsoft.

    Je crois que leur forum mérite bien d'etre cité sans vouloir faire de la pub.

    merci encore pour tous ceux qui ont essayé de m'apporter une solution.

    voici le lien de l'historique:
    http://social.msdn.microsoft.com/For...equired&ppud=4

    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
     
     
     
        '============================= code pour l'exportation ===================
     
         Private Sub Exporter_vers_excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Exporter_vers_excel.Click
     
            Dim excel As Microsoft.Office.Interop.Excel.Application
     
            Try
                excel = New Microsoft.Office.Interop.Excel.Application
                excel.Workbooks.Open("C:\Users\compaq\Desktop\projet_inventaire1\bon_de_commande.xlsx")
                Dim i As Integer, j As Integer
                Dim diff As Integer = 1
                ' if you want column header from dgv elese omit the block  
                ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
                'For j = 0 To Table_inventairDataGridView.ColumnCount - 1  
                'excel.Worksheets(1).cells(1, j + 1) = Table_inventairDataGridView.Columns(j).Name  
                'Next  
                'diff += 1  
                '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''  
                For i = 1 To Table_inventairDataGridView.RowCount - 1
     
                    If Table_inventairDataGridView.Rows(i).IsNewRow = False Then
                        For j = 0 To Table_inventairDataGridView.ColumnCount - 2
     
                            excel.Worksheets(1).cells(i + 12, j + 4) = Table_inventairDataGridView.Item(j, i).Value  'i+22, starts from 22nd rows, and j+8, starts from 8th column
                        Next
                    End If
                Next
                excel.Worksheets(1).select()
                excel.ActiveWorkbook().Save()
                excel.Workbooks.Close()
                excel.Quit()
                excel = Nothing
            Catch ex As System.Runtime.InteropServices.COMException
                MessageBox.Show("Error accessing Excel: " + ex.ToString())
            Catch ex As Exception
                MessageBox.Show("Error: " + ex.ToString())
            End Try
     
     
     
        End Sub

  17. #17
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    tiens on en revient à ce que je proposais : les COM Interop...

    donc tu as bel et bien ouverture de Excel, meme si la fenêtre ne s'ouvre pas clairement, l'application est chargée en mémoire et elle travail pour toi...
    d'ailleurs un ptit conseil vérifie sur Excel est effectivement correctement fermé après exécution de cette méthode... il a parfois tendance à rester en mémoire quand même

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

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Réponses: 2
    Dernier message: 07/09/2010, 16h06
  3. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  4. est-il possible de récupérer des données supprimer?
    Par bidibou dans le forum Administration
    Réponses: 2
    Dernier message: 12/07/2007, 09h29
  5. [MySQL] Est-ce possible de creer des champs en temps réel lors d'une requête SQL ?
    Par kaptnkill dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/09/2006, 19h18

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