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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
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
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
'-------------------------------------------
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 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
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
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
Un début de solution dans le fichier suivant : Module1 https://www.cjoint.com/c/KCbofiFAiQj MichD
Un début de solution dans le fichier suivant : Module1