Meilleure facon de sauvegarder le contenu d'un tableau dans un fichier ? [Résolu]

Signaler
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
-
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
-
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

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Oui biensur ..dans Projet..Références coches Microsoft Excel XX Object Library

It@li@
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
La sauvegarde dans un Fichier excel c'est le mieux à mon avis...

It@li@
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
Et tu n'auras pas quelques pistes pour m'aider sur la façon de le faire...
Merci d'avance
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
Merci je vais essayer ca.
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
Ca ne marche pas. Il doit falloir insérer un composant relatif à excel????
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
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
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Non je ne pens pas

It@li@