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

Signaler
Messages postés
116
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
28 septembre 2020
-
Messages postés
116
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
28 septembre 2020
-
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

5 réponses

Messages postés
99
Date d'inscription
samedi 29 décembre 2012
Statut
Membre
Dernière intervention
21 avril 2020

Bonjour

"CHEMIN=" ?? ça ne serait pas "CHEMIN" sans le signe =
Messages postés
14786
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 septembre 2020
438
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

Messages postés
116
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
28 septembre 2020
1
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.
Messages postés
14786
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
29 septembre 2020
438
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é.
Messages postés
116
Date d'inscription
dimanche 13 janvier 2019
Statut
Membre
Dernière intervention
28 septembre 2020
1
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