Vb.net

mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012 - 16 mars 2011 à 14:07
mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012 - 16 mars 2011 à 19:23
je voulais afficher des tableaux en excel avec VB.NET à l' aide des boutons et trier des colonnes
svp je veux une démarche bien détaillé vu que je suis une débutante en VB.
merci d'avance

5 réponses

CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
16 mars 2011 à 18:06
Bonjour aussi,
Tu es sous Vb.net ou tu utilise les macros Excel en VBA ?
Détail un petit peu car c'est Flou pour nous.
D'ou viens le tableau, ou doit il aller ?
Bonne Prog CGSI3
0
mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012
16 mars 2011 à 18:25
je travaille sous vb.net je dois insérer des tableaux où je dois afficher les données d'un fichier excel dedans et ces données doivent être triées par ordre croissant
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 mars 2011 à 19:06
Bonjour,

Il y a pas mal de source pour accéder à Excel à partir de VB.NET, regardes, et ensuite, viens nous dire où tu bloques.

Mon site
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
16 mars 2011 à 19:19
NHenry a raison, mais je vais quand même te laisser des pistes:

3 Phases :
1, Extraire le tableau d'excel
2, J'introduis ce tableau dans un datagrid
3, je tri le datagrid

La phase 1 et 2;
http://support.microsoft.com/kb/257819
Ou ceci écrit en C mais assez bien détaillé.
http://www.csharpfr.com/codes/LIRE-FICHIER-EXCEL-OLEDB-NET_43348.aspx

La phase 3:
http://msdn.microsoft.com/fr-fr/library/dd833072(v=vs.95).aspx

Au cas ou 2 fonctions utiles pour un datagrid

  Sub Import_Grid(ByVal Grille As DataGrid, ByRef Matrice As Single(,))
      'Auteur: CGSI3 But:  Retourne un tableau dynamique représentant les valeurs d'un datagrid
      Dim Max1 As Integer, Max2 As Integer
      Max1 Grille.DataSource.Rows.Count - 1 : Max2 Grille.DataSource.columns.Count - 1
      ReDim Matrice(Max1, Max2)
      For cp1 As Integer = 0 To Max1
         For cp2 As Integer = 0 To Max2
            Matrice(cp1, cp2) = Grille.Item(cp1, cp2)
         Next cp2
      Next cp1
      MsgBox(Grille.DataSource.Rows.Count & " Lignes")

   End Sub

   Sub Export_Grid(ByVal Grille As DataGrid, ByRef Matrice As Single(,))
      'Auteur: CGSI3 But:  Retourne un tableau dynamique représentant les valeurs d'un datagrid
      MsgBox(Grille.DataSource.Rows.Count & " Lignes")

      Dim Max1 As Integer, Max2 As Integer
      Max1 Matrice.GetUpperBound(0) : Max2 Matrice.GetUpperBound(1)
      Dim DataTable As New DataTable
      DataTable = Grille.DataSource
      Dim C1 As Integer, C2 As Integer
      C1 = DataTable.Rows.Count - 1
      Dim voDataRow As DataRow
      If C1 < Max1 Then 'ajout
         For cpt = C1 To Max1 - 1
            voDataRow = DataTable.NewRow()
            DataTable.Rows.Add(voDataRow)
         Next
      Else 'Supprim
         For cpt = Max1 To C1 - 1
            Grille.DataSource.Rows(Max1).delete()
         Next
      End If

      C2 = DataTable.Columns.Count - 1
      'Dim voDataColumn As DataColumn
      If C2 < Max2 Then
         For cpt = C2 To Max2 - 1
            'voDataColumn = DataTable
            DataTable.Columns.Add("")
         Next
      Else
         For cpt = Max2 To C2 - 1
            Grille.DataSource.Columns(Max2).delete()
         Next
      End If

      For cp1 As Integer = 0 To Max1
         For cp2 As Integer = 0 To Max2
            Grille.Item(cp1, cp2) = Matrice(cp1, cp2)
         Next cp2
      Next cp1
   End Sub


Autre Solution, utiliser un control excel en lieu et place d'un datagrid
http://www.vbfrance.com/forum/sujet-FEUILLE-EXCEL-DANS-FROMULAIRE_594569.aspx

Bonne Prog CGSI3
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mimou89ch Messages postés 32 Date d'inscription vendredi 7 janvier 2011 Statut Membre Dernière intervention 21 juin 2012
16 mars 2011 à 19:23
merci beaucoup pour votre aide
0
Rejoignez-nous