Manipulation Excel avec VB.NET

Signaler
Messages postés
45
Date d'inscription
mardi 14 avril 2009
Statut
Membre
Dernière intervention
29 mars 2012
-
Messages postés
6985
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
-
Bonjour à tous,

j'ai créé un petit programme en VB.Net 2008 (environnement VB express).
Dans une de mes Forms, j'ai un Datagridview qui s'affiche (plusieurs colonnes (variable) et 500 lignes + 1 lignes pour le nom des colonnes).

Grâce à vous j'ai pu exporter les valeurs de mon Datagridview vers une nouvelle feuille de calcul Excel, de la manière suivante:

'----------------------------------------------------------------------
Imports Microsoft.Office.Interop.Excel
Imports System.MissingMemberException

Private Sub Vers_Excel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Vers_Excel.Click

Dim c, l As Integer
Dim xl As New Microsoft.Office.Interop.Excel.Application

' Pour info: mon Datagridview se nomme "result".

xl.Visible = True
xl.Workbooks.Add()
xl.Cells.Columns(1).ColumnWidth = 10 'je fixe la largeur de la 1ere colonne

For c = 0 To result.Columns.Count - 1
' j'affiche sur la 1ere ligne, les noms des colonnes du Datagridview
xl.Cells(1, c + 1) = result.Columns(c).HeaderText
Next

' je remplis les cellules du fichiers excel avec les valeurs de result:
For l = 0 To result.Rows.Count - 1
For c = 0 To result.Columns.Count - 1
' je fixe la largeur des colonnes:
xl.Cells.Columns(c + 2).ColumnWidth = 21
xl.Cells(l + 2, c + 1) = result.Rows(l).Cells(c).Value
Next
Next

End Sub
' ----------------------------------------------------------------------


Voilà ma question: je souhaiterai centrer le contenu des cellules du fichier excel généré.
Comment faire également pour faire des bordures autour des cellules, ecrire en gras pour le nom des colonnes, etc... ?

J'ai effectué de nombreuses recherches sur le forum, les tutos et les sources, en vain.
Si quelqu'un peut m'aider, c'est avec grand plaisir

3 réponses

Messages postés
1
Date d'inscription
jeudi 23 décembre 2010
Statut
Membre
Dernière intervention
23 décembre 2010

Salut,

ton code m'a bien aidé, je savais pas comment générer un xls avec vb.
je cherche à faire un mise en page mais sais pas par où commencer! lol
Please help!!!
Messages postés
206
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
5 mars 2013
1
Salut,

Pourquoi ne pas utiliser VBA avec une macro pour trouver le code dont tu as besoin?

Voila ce que j'ai obtenu rapidement quand je "run" une macro:

Sub Macro1()
'
' Macro1 Macro
' Macro recorded 24/12/2010 by Me
'
    Range("C7").Select
    ActiveCell.FormulaR1C1 = "Bold"
    Range("C7").Select
    Selection.Font.Bold = True
End Sub


Surement a arranger en fonction de tes besoin:
xLCells(x,x).Font.Bold = True ou quelquechose comme cela...

A+
JLuc01
Messages postés
6985
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
22 octobre 2020
114
Bonjour,
Regardez ce tuto, je pense qu'il peut être d'actualité en l'adaptant :

http://www.vbfrance.com/tutoriaux/IMPRIMER-CONTENU-LISTVIEW_609.aspx

@+ Le Pivert