Meilleure facon de sauvegarder le contenu d'un tableau dans un fichier ?

Résolu
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 23 févr. 2005 à 14:00
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 25 févr. 2005 à 16:14
Bonjour,

Je désire sauvegarder le contenu d'un MSFlexgrid dans un fichier sur un serveur.
Comment dois-je procéder?
Mon flex est très large, je ne peux donc pas le sauvegarder sous forme d'une image a moins de modifier sa largeur avant l'enregistrement...
L'enregistrement peut-il se forme sous la forme d'un tableau excel ?
Quelle solution est la plus sure et la plus simple image, fichier texte ou tableau excel et comment cette sauvegarde s'effectue t'elle?

Merci d'avance

8 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
23 févr. 2005 à 16:55
Voici une Fonction qui devrait t'aider...tu la pose dans un Module et tu l'appelle de cette Façon :

Call FlexGrid_To_Excel(Me.Grille)
ou Bien sur tu Remplace Grille par le Nom de ton MSFLEXGRID

-------------------------------------------------------------------------------------------
Public Sub FlexGrid_To_Excel(TheFlexgrid As MSFlexGrid, Optional GridStyle As Integer = 1, Optional WorkSheetName As String)

Dim objXL As New Excel.Application
Dim wbXL As New Excel.Workbook
Dim wsXL As New Excel.Worksheet
Dim intRow As Integer
Dim intCol As Integer


TheCols = TheFlexgrid.Cols
TheRows = TheFlexgrid.Rows


If TheRows = 1 Then Exit Sub


If Not IsObject(objXL) Then
MsgBox "Vous Avez Besoin d' Excel pour Cette Fonction", vbExclamation, "Envoie dans Excel"
Exit Sub
End If


' Ouvre Excel
objXL.Visible = True
Set wbXL = objXL.Workbooks.Add
Set wsXL = objXL.ActiveSheet


With wsXL
If Not WorkSheetName = "" Then
.Name = WorkSheetName
End If
End With

For intRow = 1 To TheRows
For intCol = 1 To TheCols
With TheFlexgrid
wsXL.Cells(intRow, intCol).Value =.TextMatrix(intRow - 1, intCol - 1) & " "
End With
Next
Next


' Reformat
For intCol = 1 To TheCols
wsXL.Columns(intCol).AutoFit
wsXL.Range("a1", Right(wsXL.Columns(TheCols).AddressLocal, 1) & TheRows).AutoFormat GridStyle
Next


End Sub

It@li@
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
25 févr. 2005 à 10:32
Oui biensur ..dans Projet..Références coches Microsoft Excel XX Object Library

It@li@
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
23 févr. 2005 à 14:31
La sauvegarde dans un Fichier excel c'est le mieux à mon avis...

It@li@
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
23 févr. 2005 à 16:41
Et tu n'auras pas quelques pistes pour m'aider sur la façon de le faire...
Merci d'avance
0

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

Posez votre question
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
23 févr. 2005 à 17:45
Merci je vais essayer ca.
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
24 févr. 2005 à 19:15
Ca ne marche pas. Il doit falloir insérer un composant relatif à excel????
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
25 févr. 2005 à 15:05
Merci. J'avais fini par trouver en cherchant un peu...
Ton code marche parfaitement. Seul soucis, mon soft va tourner sur un poste qui est encore sous windows 95 et il y a des soucis de compatibilité avec la référence qui n'est pas la même. Ce poste va bientôt passé sous XP donc ce n'est pas vraiment un pb.

Merci encore
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
25 févr. 2005 à 16:14
Non je ne pens pas

It@li@
0
Rejoignez-nous