Problème sstab

cs_stargates Messages postés 40 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 10 janvier 2008 - 6 août 2004 à 22:02
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 9 août 2004 à 11:02
J'ai un sstab avec 2 onglet

a chaque onglet j'utilise un flexgrid qui lui doit afficher un fichier texte

Le premier onglet affiche bien un flexgrid avec le bon fichier text
mais pas le deuxième pourquoi??

code

Private Sub sstPlanning_Click(PreviousTab As Integer)
Dim onglet As Integer
Dim numeroFichier As Integer
onglet = Val(sstPlanning.Tab)
numeroFichier = FreeFile
Select Case onglet
Case 0
If onglet = 0 Then
Dim txt As String
Dim tableau As Variant
Dim i As Long
Dim emp
emp = App.Path

flex1.Rows = 0
flex1.Cols = 0
Open emp + "\nomfichier.txt" For Input As numeroFichier
While Not EOF(numeroFichier)
Line Input #numeroFichier, txt
If txt <> "" Then
tableau = Split(txt, "|")
flex1.Rows = flex1.Rows + 1
flex1.row = flex1.Rows - 1

For i = 0 To UBound(tableau) If flex1.Cols <i Then flex1.Cols flex1.Cols + 1
flex1.col = i
flex1.Text = CStr(tableau(i))
Next i
End If
Wend
Close numeroFichier
End If
Case 1
If onglet = 1 Then
Dim txt1 As String
Dim tableau1 As Variant
Dim i1 As Long
Dim emp1
emp1 = App.Path

flex1.Rows = 0
flex1.Cols = 0
Open emp1 + "\nomfichier1.txt" For Input As numeroFichier
While Not EOF(numeroFichier)
Line Input #numeroFichier, txt1
If txt1 <> "" Then
tableau1 = Split(txt1, "|")
flex2.Rows = flex2.Rows + 1
flex2.row = flex2.Rows - 1

For i1 = 0 To UBound(tableau1) If flex2.Cols <i1 Then flex2.Cols flex2.Cols + 1
flex2.col = i1
flex2.Text = CStr(tableau1(i1))
Next i1
End If
Wend
Close numeroFichier
End If

End Select

End Sub

Merci pour votre aide

4 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
6 août 2004 à 23:27
Salut

voila une solution un peu plus courte que ton programme car factoriser

Je sais pas d'ou venait le probleme car j'ai directement modifier le programme pour y voir plus clair ;-)

Private Sub SSTab1_Click(PreviousTab As Integer)
Select Case SSTab1.Tab
Case 0
Call lectureFichier("c:\test.txt", MSFlexGrid1)
Case 1
Call lectureFichier("c:\test.txt", MSFlexGrid2)
End Select
End Sub

Private Sub lectureFichier(fichier As String, flex As MSFlexGrid)
Dim tableau1 As Variant
Dim i1 As Long
Dim fso As New FileSystemObject
Dim text As String
flex.Cols = 0
flex.Rows = 0
Dim numeroFichier As Integer
numeroFichier = FreeFile
Open fichier For Input As numeroFichier
While Not EOF(numeroFichier)
Line Input #numeroFichier, txt
If txt <> "" Then


tableau1 = Split(txt, "|")
flex.Rows = flex.Rows + 1
flex.row = flex.Rows - 1

For i1 = 0 To UBound(tableau1) If flex.Cols <i1 Then flex.Cols flex.Cols + 1
flex.col = i1
flex.text = CStr(tableau1(i1))
Next i1
End If

Wend
End Sub
0
cs_stargates Messages postés 40 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 10 janvier 2008
7 août 2004 à 07:31
C'est gentil
a quoi sert ton
Dim fso as New FileSystemObject

Il provoque une erreur

Erreur de compilation
Type défini par l'utilisateur non défini

merci de ta patiente pour les débutants
Marc
0
cs_stargates Messages postés 40 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 10 janvier 2008
7 août 2004 à 08:11
ok résolu

j'ai été voir dans ma doc

dans les références: Microsoft scripting runtine n'était pas coché

Encore merci
Marc
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
9 août 2004 à 11:02
Salut.

Excuse cette variable ne sert a rien c'etait un test, j'ai voulu passer par le nouveau systeme de gestion de Entree Sortie de VB6. et j'ai oublié d'enlever la ligne le code fonctionne sans.
0
Rejoignez-nous