cs_Eric25
Messages postés175Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention26 juin 2006
-
23 févr. 2005 à 14:00
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 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
A voir également:
Meilleure facon de sauvegarder le contenu d'un tableau dans un fichier ?
cs_ITALIA
Messages postés2169Date d'inscriptionvendredi 20 avril 2001StatutMembreDernière intervention30 juin 20099 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
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
cs_Eric25
Messages postés175Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention26 juin 20063 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.