Tester et creer un repertoir (VBA Excel) [Résolu/Fermé]

Signaler
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
-
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
-
Bonjour,
Voila le problème:
J'ai sur un classeur ,qui me sert de master un N° de moule
d'autre part j'ai sur un serveur un dossier moule contenant des sous dossier au numero des moule existant
moule __1235
__2432
__1745
etc..
mon classeur creer un deuxieme classeur l'enregistre et le nomme (pour l'instant dans un repertoir C:\Doc
ce que je désire c'est depuis excel enregistrer ce classeur dans le repertoire moule \"N° moule\mesure\fichier.xls
mais je dois tester si le dossier "N°moule" existe si non le creer idem pour le dossier "mesure"
J'ai bien trouver sur l'aide en lgne createfolder et existfolder mais je n'ai pas reussi à comprendre comment créer l'objet réclammer en debut de syntaxe
Merci
G.David

le respect n'est pas un dû
il se merite

3 réponses

Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
197
Salut voilà ce que j'ai fait

Sub récuperation()
Dim nom(5) As Variant
Dim Repertoir As String
Dim fs, f, f1, s, sf
Dim NumMoule As String

'
'================== Récupération des noms ================
'


Application.ScreenUpdating = False
Sheets(1).Select

NumMoule = Range("c6").Value

'
ChDir Repertoir
'============== test/creation du dossier================
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(Repertoir)
Set sf = f.SubFolders
t = 0
For Each f1 In sf
s = f1.Name
If s = NumMoule Then
t = 1
End If

Next
If t = 0 Then ' le repertoir moule n'existe pas
ChDir Repertoir
Repertoir = Repertoir + "\" + NumMoule
MkDir Repertoir
ChDir Repertoir
Repertoir = Repertoir + "\" + "th"
MkDir Repertoir
ChDir Repertoir

ElseIf t = 1 Then 'repertoir moule existe test le s/s rep TH
Repertoir = Repertoir + "\" + NumMoule
ChDir Repertoir
Set f = fs.GetFolder(Repertoir)
Set sf = f.SubFolders
t = 0
For Each f1 In sf
s = f1.Name
If s = "th" Then
t = 2
End If
Next
End If
If t = 2 Then
Repertoir = Repertoir + "\" + "th"
Else
ChDir Repertoir
Repertoir = Repertoir + "\" + "th"
MkDir Repertoir
ChDir Repertoir
End If
'===============
le respect n'est pas un dû
il se merite
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56898 internautes nous ont dit merci ce mois-ci

Messages postés
282
Date d'inscription
vendredi 28 mai 2004
Statut
Membre
Dernière intervention
10 janvier 2008
212
Salut,

dans l'aide sur CreateFolder, clique sur "Applies To", et tu auras la réponse

A+.
Messages postés
768
Date d'inscription
vendredi 21 novembre 2003
Statut
Membre
Dernière intervention
1 juin 2020
197
Salut et merci
le message n'est plus d'actualité j'ai trouvé la solution mais je vais quand meme jetter un oeil .(l'aide en ligne d'excel c'est pas le top quand même)
Cordialement
G.David
PS j'ai pas tout compris a ce que j'ai fait mais ça marche
le respect n'est pas un dû
il se merite