Connecter un lecteur réseau

Bonjour à tous,

Pour mon projet, j'ai un excel avec des macros qui créé automatiquement des dossiers sur le serveur de mon travail.

Plus précisément, cela copie un fichier .ppt vierge dans un dossier créé par la macro qui ira dans un dossier de travail "en cours". Ensuite, la macro renomme le dossier et le fichier créés (Via des textbox).

Le soucis, c'est que le nombre de caractère total du lien où ira le futur fichier est trop long et du coup ça me met un message d'erreur. Et surtout ça ne me créé pas le fichier.

Je ne peux pas mettre ce fichier ailleurs que dans ce dossier comportant plus de 10 dossiers consécutifs.

Je précise, j'ai Windows 7 car j'ai lu que Windows 10 est censé augmenter cette chaîne de caractère à plus de 260 (ou carrément supprimer cette limite).

Même pour ouvrir ce fichier, je ne peux pas car le nom du fichier est trop long (Voir photo en pièce jointe)

Par contre, j'arrive à ouvrir ce fichier seulement si je passe par un lecteur réseau qui "shinte" la 10aine de dossier.

Du coup dans ma macro, j'aimerai passer par un lecteur réseau. Pour cela il faudrait le créer mais avant il faudrait vérifier que la lettre de lecteur réseau ne soit pas déjà prise.

Avez-vous des pistes pour connecter un lecteur réseau ?

Merci

explorer

Bonjour,

Dans un monde idéal, il est préférable d'utiliser des noms courts.

Ceci teste si une lettre d'unité (un lecteur) existe.

De là, une boucle va trouver un retour "False" et connecter le lecteur.

Un msgbox pourrait t'aviser de la lettre que la boucle a réussi à connecter.

Private Sub Command1_Click()
 MsgBox DisqueExiste("C")
 MsgBox DisqueExiste("P")
 End Sub

Function DisqueExiste(LettreDisque As String)
 Set fso = CreateObject("Scripting.FileSystemObject")
 DisqueExiste = fso.DriveExists(LettreDisque)
 Set fso = Nothing
End Function

Amuse-toi bien ...

ric

P.S. Il y a une pauvre oubliée venant des temps médiévaux informatiques... la lettre "B" qui est pratiquement toujours libre.

Bonsoir,

Essayer ce code

Sub affecter_lecteur_réseau()

    Dim fso As Object, wslan As Object
    Dim lecteur As Variant, chemin As String

    Set fso = CreateObject("Scripting.FileSystemObject")
    lecteurs = Array("D:", "E:", "F:", "G:", "H:", "I:", "J:", "K:", "L:", "M:", "N:", "O:", "P:", "Q:", "R:", "S:", "T:", "U:", "V:", "W:", "X:", "Y:", "Z:")
    For Each lecteur In lecteurs
        If Not fso.DriveExists(lecteur) Then Exit For
    Next lecteur
    If lecteur = Empty Then Exit Sub

    Set wslan = CreateObject("WScript.Network")
    chemin = "\\serveur\répertoire"
    wslan.MapNetworkDrive lecteur, chemin

End Sub
Rechercher des sujets similaires à "connecter lecteur reseau"