Bonjour, voila j'ai récupéré un code qui me permet d'exporter des données à partir d'un datagrid vers excel qui est celui-ci

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
 
        Dim i
        Dim iCnt As Integer
        Dim tamponxls As String
        tamponxls = vbNullString
        iCnt = Me.BindingContext(ObjetDataSet, table).Count
        For i = 0 To iCnt
            If i = iCnt Then Exit For
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 1)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 2)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 3)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 4)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 5)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 6)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 7)) & vbTab
            tamponxls = tamponxls & (Me.DataGridMission.Item(i, 8)) & vbTab & vbCr
        Next i
 
        RichTextBox1.Text = tamponxls
 
        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
            RichTextBox1.SaveFile(saveFileDialog1.FileName, _
            RichTextBoxStreamType.PlainText)
        End If
Cependant avec ce code j'ai un problème avec les signes & < L'opérateur '&' n'est pas défini pour 'Nothing' et type 'DataGridViewTextBoxCell'. >, j'ai voulu les remplacer par des + mais même problème < L'opérateur '+' n'est pas défini pour type 'DataGridViewTextBoxCell' et chaîne " ". >


du cou j'ai fait des recherches et j'ai voulu utiliser le code qui est disponible dans la faq vb.net pour exporter des données vers excel, mais j'obtiens cette erreur : "Exception de HRESULT : 0x800A03EC" et cela se passe au moment de la lecture des lignes et des colonnes de mon datagrid.

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
 
  Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet
 
        xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
        xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
        xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
 
        ' ici on compte le nombre de lignes et de colonnes du datatable
        Dim nbrLigne As Integer = ObjetDataSet.Tables(table).Rows.Count - 1
        Dim nbrColon As Integer = ObjetDataSet.Tables(table).Columns.Count - 1
        Dim x, y As Integer
 
        For x = 0 To nbrColon
            ' ici on prends le titre des colonnes du datatable
            xlSheet.Cells(1, x + 1) = ObjetDataSet.Tables(table).Columns(x).ColumnName
            ' on mets la première ligne en gras
            xlSheet.Rows(1).Font.Bold = True
 
            ' pour chaque colonne et chaque ligne on transfert les données      
            For y = 0 To nbrLigne
                xlSheet.Cells(y + 2, x + 1) = DataGridMission.Item(y, x)    ====> çà se passe ici le problème
            Next
        Next
 
        ' ici on affiche les résultat dans excel
        xlSheet.Application.Visible = True
        ' on peut sauvegarder notre document sur le disque
        xlSheet.SaveAs("C:\nom_document.xls")
        ' on quitte l'application et on détruit les objets
        xlApp.Quit()
        xlSheet = Nothing
        xlBook = Nothing
        xlApp = Nothing
si quelqu'un avait une solution pour une des deux methodes, de préférence celle de la faq qui m'évite de passer par un richtextbox, çà m'aiderait vraiment beaucoup car j'ai pas trouvé de cas similaire sur le net

d'avance merci

@++
dubidon