Fonction dir pointant vers une machine

Bonjour,

J'ai créé un code pour extraire la liste des sous-répertoires d'un répertoire donné. Mon code fonctionne en phase de test avec un répertoire par exemple S:\mg\...

mais lorsque je point directement vers la machine concernée (\\VERISMART1\statistics) j'ai une erreur (nom ou numéro de fichier incorrect). Ci-dessous le code en question.

merci d'avance si vous avez une piste à mon problème

MyPath = "\\VERISMART1\statistics" ' Définit le chemin.
j = 2

MyName = Dir(MyPath, vbDirectory) ' Extrait la première entrée.
Do While MyName <> "" ' Commence la boucle.
If MyName <> "." And MyName <> ".." Then ' Ignore le dossier courant et le dossier contenant le dossier courant.
If (GetAttr(MyPath & MyName) _
And vbDirectory) = vbDirectory Then ' Utilise une comparaison au niveau du bit pour vérifier que MyName est un dossier.
Sheets("Listes").Range("G" & j) = MyName: j = j + 1 'écrit le nom du répertoire dans la cellule de Listes
End If
End If
MyName = Dir ' Extrait l'entrée suivante.
Loop

BOnjour,

as-tu vérifié que ce chemin existe bien ?

Bonjour,

Je reconnais bien le code de pierrejean (Excel downloads), merci à lui.

Avez-vous essayé de remplacer VERISMART1 par la lettre du lecteur correspondante ?

Vous aurez probablement plus de chances en passant par le filesystemobject.

Cdlt,

Bonjour,

Merci pour vos conseil. oui c'est un code que j'avais téléchargé.

Je vais voir le service info si il peut mettre une lettre à la place de VERISMART1, mais c'est bien ceci qui s'affiche dans la liste des réseaux.

Je pensait aussi que la machine où se trouvent ces répertoires possède un très vieux windows (XP je crois), et éventuellement cela interdit à mon code de fonctionner ? Est-ce une hypothèse sensée?

Non, j'en doute...

Voici quand même une proposition, sans conviction :

Sub mg()

MyPath = "\\VERISMART1\statistics\"

j = 2
MyName = Dir(MyPath, vbDirectory) ' Extrait la première entrée.
While MyName <> "" ' Commence la boucle.
    If Not MyName Like "*.*" Then
        Sheets("Listes").Range("G" & j) = MyName
        j = j + 1 'écrit le nom du répertoire dans la cellule de Listes
    End If
    MyName = Dir ' Extrait l'entrée suivante.
Wend

End Sub

Mais je pense qu'il faut vous assurer que vous avez accès à ce disque surtout...

Cdlt,

Bonjour,

Merci beaucoup pour pour votre aide, en fait j'avais tous simplement oublié le \ à la fin du chemin

Rechercher des sujets similaires à "fonction dir pointant machine"