jbballeyguier
XLDnaute Nouveau
Bonjour,
j'ai écrit une macro qui me permet de créer une arborescence à deux niveaux en partant de données présentes dans un fichier excel.
Cependant certaines données sont redondantes et la macro tente de créer un dossier ou un sous-dossier qui existe déjà.
J'ai réussi à trouver une fonction qui est censée permettre de vérifier si le dossier existe déjà avant de le créer, mais je ne sais pas comment l'utiliser dans ma macro.
Voici ma macro :
et la fonction que j'ai trouvée :
Quand je lance ma macro il me dit qu'un argument n'est pas facultatif...
Pourriez vous m'aider à intégrer cette fonction ?
Merci d'avance
j'ai écrit une macro qui me permet de créer une arborescence à deux niveaux en partant de données présentes dans un fichier excel.
Cependant certaines données sont redondantes et la macro tente de créer un dossier ou un sous-dossier qui existe déjà.
J'ai réussi à trouver une fonction qui est censée permettre de vérifier si le dossier existe déjà avant de le créer, mais je ne sais pas comment l'utiliser dans ma macro.
Voici ma macro :
Code:
Sub creerdossiers()
I = 2
j = 2
Dim niveau1 As String
Dim niveau2 As String
Dim imhere As String
imhere = ThisWorkbook.Path
ThisWorkbook.Sheets("Nomenclature").Activate
If Not (TestDossier(niveau1)) Then
Do While Cells(I, 2) <> "STOP"
Cells(I, 2).Select
niveau1 = imhere & "\" & ActiveCell.Value
MkDir niveau1
If Not (TestDossier(niveau2)) Then
Do While Cells(j, 3) <> ""
Cells(j, 3).Select
niveau2 = niveau1 & "\" & ActiveCell.Value
MkDir niveau2
j = j + 1
Loop
End If
I = j
j = I + 1
Loop
End If
End Sub
et la fonction que j'ai trouvée :
Code:
Function TestDossier(LeDossier$, nom_recherche As String) As Boolean
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.GetFolder(LeDossier)
For Each flder In Dossier.subfolders
If Right(flder, Len(flder) - Len(LeDossier)) = nom_recherche Then
TousLesDossiers = True
Exit For
End If
Next
Set fso = Nothing
End Function
Quand je lance ma macro il me dit qu'un argument n'est pas facultatif...
Pourriez vous m'aider à intégrer cette fonction ?
Merci d'avance