cs_feihung
Messages postés4Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention26 mars 2004
-
9 mars 2004 à 11:42
3Pom
Messages postés90Date d'inscriptionsamedi 5 octobre 2002StatutMembreDernière intervention 7 octobre 2004
-
10 mars 2004 à 12:49
bonjour!
désireux de réussir mon programme, j'ai décidé de m'encquérir de votre aide à vous collègues informaticiens!!
voilà, je tente d'afficher et dans sa forme le contenu d(un classeur excel (1300 ignes et 30 colonnes)
dans un tableur sous VB6.0 que j'ai créé avec le contrôle MSFlexGrid.
Comment faire??
Voici ce que j'ai fait:
Private Sub Form_Load()
'definition de la largeur des colonnes
MSFlexGrid1.ColWidth(1) = 2000 'taille en twips où 1cm=567 twips
For i = 2 To 29
MSFlexGrid1.ColWidth(i) = 1700
Next i
'definition de l'alignement des colonnes
For i = 1 To 29
MSFlexGrid1.ColAlignment(i) = 0 'alignement des cellules 0=gauche 1=droite 2=centre
Next i
'affichage des en tetes de ligne et de colonnes
For i = 1 To 1299
MSFlexGrid1.Row = i
MSFlexGrid1.Col = 0
MSFlexGrid1.Text = i
Next i
For i = 1 To 29
MSFlexGrid1.Row = 0
MSFlexGrid1.Col = i
MSFlexGrid1.Text = Chr(64 + i)
Next i
'lecture des données à afficher et affichage
Open "D:\Documents and Settings\Administrateur\Bureau\Passeport Culturel\Tableau général PCA 2003 2004.txt" For Input As #1
For i = 1 To 1299
MSFlexGrid1.Row = i
For j = 1 To 29
MSFlexGrid1.Col = j
Input #1, a
MSFlexGrid1.Text = a
Next j
Next i
Close #1
End Sub
l'erreur est "une erreur d'exécution '62'
l'entrée dépasse la fin de fichier"
ça fait 2h et demi que je travaille à résoudre ça, et j'n'yarrive paaaas!!!!
3Pom
Messages postés90Date d'inscriptionsamedi 5 octobre 2002StatutMembreDernière intervention 7 octobre 2004 9 mars 2004 à 12:46
Je pense ke le + simple pour toi est d'utiliser un contrôle grille ki prend en charge l'affichage de fichiers excel et là je pense principalement au VsFlexGrid. Tu pourras le trouver si mes souvenirs st exact sur www.videosoft.com. Tu verras il est tres facile à utiliser et bcp + pratique ke ts les contrôles de microsoft.
3Pom
Messages postés90Date d'inscriptionsamedi 5 octobre 2002StatutMembreDernière intervention 7 octobre 2004 9 mars 2004 à 16:22
Bon ds ce cas utilise +tôt des objets Excel.application c bcp + facile ke de faire ce ke tu fais ac 1 open. Avec ca tu boucle + facilement sur les lignes et les colonnes
cs_feihung
Messages postés4Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention26 mars 2004 10 mars 2004 à 11:04
Oui je vois ce que tu veux dire, j'ai d'ailleurs trouvé cette source,
Private Sub Command1_Click()
Dim strAppPath As String
Dim excel_app As Object
Dim excel_sheet As Object
Dim Row As Integer
Dim new_value As String
Screen.MousePointer = vbHourglass
DoEvents
On Error GoTo CloseFile
strAppPath = App.Path
If Right$(strAppPath, 1) <> "" Then strAppPath = strAppPath & ""
' Create the Excel application.
Set excel_app = CreateObject("Excel.Application")
' Open the Excel spreadsheet.
excel_app.Workbooks.Open FileName:=strAppPath & "D:\Documents and Settings\Administrateur\Bureau\Passeport Culturel\tab.xls"
' Check for later versions.
If Val(excel_app.Application.Version) >= 8 Then
Set excel_sheet = excel_app.ActiveSheet
Else
Set excel_sheet = excel_app
End If
Row = 1
Do
' Get the next value.
new_value = CStr(Trim$(excel_sheet.Cells(Row, 1)))
' See if it's blank.
If Len(new_value) = 0 Then Exit Do
'MSF is the Flexgrid's name
MSF.AddItem new_value
Row = Row + 1
Loop
CloseFile:
excel_app.ActiveWorkbook.Close False
' Close Excel.
excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
Screen.MousePointer = vbDefault
End Sub
ai s étant vraiment débutant en la matière, j'arrive pas à voir ce que signifie: "Screen.MousePointer = vbHourglass
DoEvents" par exemple, serait-il possible que tu me traduises les lignes de commandes?? je sais c'est quand même beaucoup demandé, alors je ne t'en voudrais pas si tu ne pouvais consacrer ce temps, jte remercie ds ts les cas!!
Je fais ça car, je n'ai même pas la collection MSDN pour m'aider à les comprendre!
see you later...
Vous n’avez pas trouvé la réponse que vous recherchez ?