MKDir / droits utilisateur nécessaires ou non

Bonjour à tous,

voilà mon sujet : je suis sur un outil Excel utilisé par une centaine d'utilisateurs.

Chacun d'eux utilisera l'outil en autonome sur son pc pour générer des documents Word.

Affin de ranger les documents émis, j'ai ajouté une fonctionnalité pour créer un dossier sur le bureau de chaque utilisateur.

Les problèmes arrivent à ce moment là :

j'utilise une macro avec la fonction MKDir. La manip fonctionne parfaitement sur mon pc.

Lorsque je fais tester le fichier par un collègue sur son poste, la macro liée au MKDir plante sur la ligne en question.

le fichier est bien téléchargé sur le pc de l'utilisateur, et les macros activées.

Voici le code trouvé sur Excel-Pratique que j'utilise (Merci à la communauté d'ailleurs) pour déterminé le chemin c:\users\desktop\MonDossier\ :

J'ai inséré quelques MsgBox pour contrôler que le chemin d'accès était bon afin de trouvé l'origine du problème.

Le chemin s'affiche bien chez l'autre utilisateur, avec son username. Mais pas de création de dossier.

J'ai du coup pensé à une histoire de droits ??? a-t-on les droits pour créer un dossier ? faut-il ajouter des Références spécifiques dans le project VBA ?

Merci d'avance pour votre aide.

Laurent

Public Function DossierExiste(MonDossier As String)

If Len(Dir(MonDossier, vbDirectory)) > 0 Then
DossierExiste = True
Else
DossierExiste = False
End If

End Function

--------------------------------------------------------------------------------------

Sub TestSiDossierExiste()

Dim MonDossier As String
Dim Chemin As String

Chemin = "C:\Users\" & VBA.Environ("username") & "\Desktop\DOSSIER BUDGET"
MsgBox Chemin

MonDossier = Chemin

If DossierExiste(MonDossier) = True Then
MsgBox " Le dossier existe déjà"
Else: MsgBox " Le dossier n'existe pas"
MkDir (Chemin)
End If

End Sub

Edit modo : code mis entre balises

Hello,

Les MKDIR / DIR et tout le bataclan c'est de la Me...

Regarde plutot du coté de file system object, et dis nous si tu as toujours la même erreur

Bonjour,

Regarde plutot du coté de file system object

Tout à fait.

ci-dessous exemple de code :

Sub dossier_word()
    Dim bureau As String, dossier_budget As String
    Dim fso As Object

    bureau = CreateObject("Wscript.Shell").specialfolders("Desktop")
    dossier_budget = bureau & "\" & "DOSSIER BUDGET"
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(dossier_budget) Then fso.CreateFolder (dossier_budget)

End Sub

NB: se servir de la balise </> pour afficher du code

Merci pour vos retours super rapide !!!

je vais en profiter pour me former;)

je teste et je vous tiens au courant.

Hello,

alors je confirme qu'il faut absolument que je me mette au fso !!

Merci pour la macro c'est impeccable !!!

alors je confirme qu'il faut absolument que je me mette au fso !!
Pour cela, je vous suggère de cocher dans l'éditeur VBA, la bibliothèque Microsoft Scripting Runtime qui vous permettre d'afficher toutes les classes relatives à FileSystemObject.

Rechercher des sujets similaires à "mkdir droits utilisateur necessaires"