Erreur 76 - chemin d'accès introuvable [Résolu]

Messages postés
57
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
12 novembre 2019
-
Bonjour à tous !

Mon code est le suivant ;
Private Sub Form_Load()
Open App.Path & "\MotsX.ini" For Input As #3
Input #3, chemin
If UCase(Mid(chemin, 1, 7)) <> "CHEMIN=" Then
    MsgBox "Fichier MotsX.ini invalide.", vbExclamation
    Close #3
    Exit Sub
End If
'MsgBox Mid(chemin, 8)

chemin = Mid(chemin, 8)
dirlistbox = chemin
Close #3
End Sub


Le fichier MotsX.ini contient le texte suivant : chemin=D:\A Programmes VB\Mots croisés\Grilles\test.txt
Après la commande MID, la variable String chemin contient bien D:\A Programmes VB\Mots croisés\Grilles\test.txt
Bien sûr, le fichier Test.txt existe bien dans le dossier D:\A Programmes VB\Mots croisés\Grilles



mais lors de l'exécution de la commande dirlistbox, j'ai une erreur 76 - chemin d'accès introuvable alors que la variable est correcte comme le montre l'image suivante :



La variable dirlistbox contient un autre chemin qui lui, ne pose pas de problème :



Avez-vous une idée pourquoi je ne peux pas changer le répertoire ?

Merci d'avance

Notpa
Afficher la suite 

5 réponses

Messages postés
92
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
20 octobre 2019
0
Merci
Bonjour

"CHEMIN=" ?? ça ne serait pas "CHEMIN" sans le signe =
Commenter la réponse de Gildeplomb
Messages postés
13952
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 novembre 2019
319
0
Merci
Bonjour

d'abord merci de (re)lire ce petit tuto sur l'utilisation des balises de code https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Il y a bien longtemps que je ne fais plus de VB6, mais au cas ou essaye de changer les noms de dossier pour qu'il n'y ait plus ni espaces ni accents

Commenter la réponse de Whismeril
Messages postés
57
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
12 novembre 2019
0
Merci
Merci à vous deux !

Gildeplomb:

Le signe égal après chemin est le contenu du fichier INI, il n'est pas dans le code.

Whishmeril:

Les noms de répertoires avec espace ne posent pas de problème. Si tu regardes la 2ème image, il y a des espaces et là, ça marche bien.
Commenter la réponse de Notpa
Messages postés
13952
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 novembre 2019
319
0
Merci
p'tet ben que ça marche avec l'un mais pas avec l'autre, j'ai souvenir d'avoir bataillé un moment avec une con.... de ce type, mais je sais plus si c'était du VB4, VB5 ou VB6.


Sinon, même si le message d'erreur ne serait pas très cohérent, es tu sûr que ton fichier test est bien fermé?
Une autre partie de ton programme ne l'aurait pas ouvert sans le refermer?

Par là, tu fermes bien plus loin que nécessaire
Private Sub Form_Load()
  Open App.Path & "\MotsX.ini" For Input As #3
  Input #3, chemin
  'à partir d'ici le fichier peut être fermé, tu ne travailles plus que sur la variable chemin
  If UCase(Mid(chemin, 1, 7)) <> "CHEMIN=" Then
      MsgBox "Fichier MotsX.ini invalide.", vbExclamation
      Close #3
      Exit Sub
  End If
  'MsgBox Mid(chemin, 8)

  chemin = Mid(chemin, 8)
  dirlistbox = chemin
  Close #3
End Sub


Il suffit qu'ailleurs tu fasses pareil, qu'il y ait une erreur quelconque prise en charge par un "On error fait un truc" et le fichier n'est pas refermé.
Commenter la réponse de Whismeril
Messages postés
57
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
12 novembre 2019
0
Merci
J'ai trouvé !!!

Il faut utiliser DriveListBox et non DirListBox ! Et là, plus de problème : fichier trouvé.

Merci de vous être penché sur mon cas. Et bon dimanche (pluvieux).

Notpa
Commenter la réponse de Notpa