AArgg: Erreur 55 'Fichier déja ouvert!'

Résolu
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 2 mai 2008 à 23:46
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 - 3 mai 2008 à 15:24
Bonsoir à tous,

Je fais appel à vous, parce que je pense ne pas tarder à m'arracher les cheuveux, et je ne pense pas que ça en a le merite. (même si j'ai découvert, ce matin, mon premier cheuveux blanc)

Tout est dans le titre, cette erreur intervient à l'execution de cette simple fonction.
Private Function Ecriture_AffLI()



Dim NameFile As String
Dim AdressFile As String
Dim Affect As String
Dim Index As Integer
Dim FileNumber As Integer



    NameFile = ""
    NameFile = Dir(App.path & "\Files" & "AffLI.txt", vbNormal)
   
    If NameFile = "" Then
        AdressFile = App.path & "\Files" & "AffLI.txt"
        NameFile = AdressFile
    End If

    'OUVRIR LE FICHIER
    FileNumber = FreeFile
    Open App.path & "\Files" & "AffLI.txt" For Output As #FileNumber



    For Index = 4 To 10
            Affect = TxtLabLI(Index).Text
            Print #FileNumber, Affect
    Next Index
   
    Close #FileNumber
End Function


J'utilise strictement cette même structure sur d'autre fonction d'écritute de fichier text, et ces la seule qui plante!
Si quelqu'un à une idée avant d'aller au dodo!

Jimy

Pensez: Réponse acceptée
'**********************************************

4 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 mai 2008 à 08:07
Bonjour,


"Depuis que j'ai placé cette fonction à un autre endroit, elle fonctionnent trés bien, quelqu'un saurait me dire pourquoi?"


Je pense que, par "autre endroit", tu veux dire "autre évènement" !

Il est bien clair que, dans l'évènement Change, qui intervient à chaque frappe d'une touche, ta procédure est appelée à une fréquence trop grande pour qu'elle ait le temps de se terminer avant son appel suivant (pendant, donc, que le fichier est encore ouvert) !
3
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
2 mai 2008 à 23:59
J'ai trouvé d'où venait le problème, mais ne me l'explique pas...

Dans un groupes de textBox, j'avais placé la fonction dans l'évenement Change

Private Sub TxtLabLI_Change(Index As Integer)
Call Ecriture_AffLI
End Sub

Depuis que j'ai placé cette fonction à un autre endroit, elle fonctionnent trés bien, quelqu'un saurait me dire pourquoi?
Jimy

Pensez: Réponse acceptée
'**********************************************
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
3 mai 2008 à 10:40
Bonjour jmfmarques,

'Je pense que, par "autre endroit", tu veux dire "autre évènement" !', oui en effet c'est bien cela.
Je vous remercie de vote réponse, j'ai manqué de logique sur ce coup, dit comme cela il est vrai que ça parait évident.
Encore merci,

Jimy

Pensez: Réponse acceptée
'**********************************************
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
3 mai 2008 à 15:24
Pour résoudre et déceler ce genre de souci, il est parfois bon de mettre des Debug.Print "Début de la Sub foo()" et Debug.Print "Fin de la Sub foo()" pour voir les appels qui sont fait par le code VB, VB6 ne proposant pas de pile d'appels
0