Tester chemin avec one drive - erreur 52

Le
Droopy191
Bonjour,

J'ai une macro qui teste l'existence d'un chemin avant de créer un sous
dossier si besoin.
Cela marche bien sur un dossier local mais cela ne marche plus si le
fichier est hébergé sur un onedrive.



Une version simplifiée de la macro:
***********
Sub Test_Chemin()

Dim Sous_Dossier As String, Chemin As String, Nom_fichier As String,
fName As String


' Paramètre modifiable
Sous_Dossier = "Demande de Transport"


' Chemin du fichier excel
Chemin = ThisWorkbook.Path


' vérifie existante du sous-dossier, et le créer si besoin
If Not (Len(Dir(Chemin & Sous_Dossier, vbDirectory)) > 0) Then
MkDir Chemin & Sous_Dossier
End If

End Sub
**********

J'ai l'erreur suivante
Erreur 52, nom ou numéro de fichier incorrect

Sans doute logique, car ThisWorkbook.Path me renvoit un
https://societe.com-my.sharepoint.com/personnal/username/..


Comment travailler avec ce dossier sur un onedrive ?
Mon dossier peut etre indifféremment sur un disque classique ou sur un
one drive.



Cordialement


--
DR
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
MichD
Le #26569103
Le 01/03/21 Í  05:59, Droopy191 a écrit :
Bonjour,
J'ai une macro qui teste l'existence d'un chemin avant de créer un sous
dossier si besoin.
Cela marche bien sur un dossier local mais cela ne marche plus si le
fichier est hébergé sur un onedrive.

Une version simplifiée de la macro:
***********
Sub Test_Chemin()
Dim Sous_Dossier As String, Chemin As String, Nom_fichier As String,
fName As String
' Paramètre modifiable
Sous_Dossier = "Demande de Transport"
' Chemin du fichier excel
Chemin = ThisWorkbook.Path
' vérifie existante du sous-dossier, et le créer si besoin
If Not (Len(Dir(Chemin & Sous_Dossier, vbDirectory)) > 0) Then
    MkDir Chemin & Sous_Dossier
End If
End Sub
**********
J'ai l'erreur suivante
Erreur 52, nom ou numéro de fichier incorrect
Sans doute logique, car ThisWorkbook.Path me renvoit un
https://societe.com-my.sharepoint.com/personnal/username/.....
Comment travailler avec ce dossier sur un onedrive ?
Mon dossier peut etre indifféremment sur un disque classique ou sur un
one drive.

Cordialement


Bonjour,
Ceci fonctionne très bien. Le répertoire créé apparaÍ®t après quelques
secondes dans le répertoire sur le serveur OneDrive de Microsoft.
Cette procédure peut créer tout un chemin qui n'existe pas avant.
Exemple. Sur un répertoire donné, tu veux ajouter un sous-répertoire Í 
un sous-répertoire bien que ces 2 répertoires n'existent pas.
Exemple : Créer tous ces répertoires d'un seul coup!
"c:Documentstototititata"
'-------------------------------------------
Sub Macro1()
Dim Répertoire As String
Dim Chemin As String,
Dim Rep As string
'Ne pas oublier le "" Í  la fin du chemin
Chemin = "C:UsersmichdOneDriveBureau"
Répertoire = "MichD"
'S'assurer que l'on est sur le bon drive
'dans mon exemple : C
ChDrive Left(Chemin, 1)
Rep = Chemin & Répertoire
If Dir(Rep, vbDirectory) = "" Then
Commande = Environ("comspec") & " /c mkdir " & Rep
Shell Commande, 0
End If
End Sub
'-------------------------------------------
MichD
Droopy191
Le #26569108
Le 01/03/2021 Í  14:01, MichD a écrit :
Le 01/03/21 Í  05:59, Droopy191 a écrit :
Bonjour,
J'ai une macro qui teste l'existence d'un chemin avant de créer un
sous dossier si besoin.
Cela marche bien sur un dossier local mais cela ne marche plus si le
fichier est hébergé sur un onedrive.

Une version simplifiée de la macro:
***********
Sub Test_Chemin()
Dim Sous_Dossier As String, Chemin As String, Nom_fichier As String,
fName As String
' Paramètre modifiable
Sous_Dossier = "Demande de Transport"
' Chemin du fichier excel
Chemin = ThisWorkbook.Path
' vérifie existante du sous-dossier, et le créer si besoin
If Not (Len(Dir(Chemin & Sous_Dossier, vbDirectory)) > 0) Then
     MkDir Chemin & Sous_Dossier
End If
End Sub
**********
J'ai l'erreur suivante
Erreur 52, nom ou numéro de fichier incorrect
Sans doute logique, car ThisWorkbook.Path me renvoit un
https://societe.com-my.sharepoint.com/personnal/username/.....
Comment travailler avec ce dossier sur un onedrive ?
Mon dossier peut etre indifféremment sur un disque classique ou sur un
one drive.

Cordialement


Bonjour,
Ceci fonctionne très bien. Le répertoire créé apparaÍ®t après quelques
secondes dans le répertoire sur le serveur OneDrive de Microsoft.
Cette procédure peut créer tout un chemin qui n'existe pas avant.
Exemple. Sur un répertoire donné, tu veux ajouter un sous-répertoire Í 
un sous-répertoire bien que ces 2 répertoires n'existent pas.
Exemple : Créer tous ces répertoires d'un seul coup!
"c:Documentstototititata"
'-------------------------------------------
Sub Macro1()
Dim Répertoire As String
Dim Chemin As String,
Dim Rep As string
'Ne pas oublier le "" Í  la fin du chemin
Chemin = "C:UsersmichdOneDriveBureau"
Répertoire = "MichD"
'S'assurer que l'on est sur le bon drive
'dans mon exemple : C
ChDrive Left(Chemin, 1)
Rep = Chemin & Répertoire
If Dir(Rep, vbDirectory) = "" Then
    Commande = Environ("comspec") & " /c mkdir " & Rep
    Shell Commande, 0
End If
End Sub
'-------------------------------------------
MichD


Merci pour votre aide,
Mon soucis est que le dossier Í  créer est un sous dossier dans le
dossier du fichier excel.
Je récupère l'info comme ceci:
' Chemin du fichier excel
Chemin = ThisWorkbook.Path
Mais cela ne renvoit pas "C:UsersmichdOneDriveBureau"
mais un lien web de type
https://societe.com-my.sharepoint.com/personnal/username/.....
Donc ensuite, la commande dir ou d'autres commandes me donne l'erreur 52
--
DR
MichD
Le #26569110
Un début de solution dans le fichier suivant : Module1
https://www.cjoint.com/c/KCbofiFAiQj
MichD
Droopy191
Le #26569116
Le 01/03/2021 Í  15:06, MichD a écrit :
Un début de solution dans le fichier suivant : Module1
https://www.cjoint.com/c/KCbofiFAiQj
MichD


Une bonne solution !
Cela marche sur disque local et onedrive
merci encore pour votre aide précieuse

--
DR
Poster une réponse
Anonyme