Creer un dossier avec code vba
Fermé
dimitri
-
31 janv. 2012 à 16:43
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 - 18 juil. 2014 à 10:04
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 - 18 juil. 2014 à 10:04
A voir également:
- Creer un dossier avec code vba
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte instagram sur google - Guide
- Créer un compte gmail - Guide
- Comment créer un qr code - Guide
3 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 31/01/2012 à 19:47
Modifié par lermite222 le 31/01/2012 à 19:47
Bonjour,
A partir d'un onglet / copier onglet dans un nouveau répertoire
Ce code fait ça...
Pour info :
Tester si un répertoire existe avec Dir.
Si Dir renvoi "" c'est que le répertoire n'existe pas faut l créer.
Note : Dir ne crée pas les sous-répertoires s'ils n'existent pas, il faut employer une cascade comme..
Je t'ai mis ça au cas ou G4 serait du genre Rep1\Rep2
Et évite tout ces Select qui proviennent de l'éditeur de macro.
Emploi directement les objets.
Tu dis.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
A partir d'un onglet / copier onglet dans un nouveau répertoire
Ce code fait ça...
Sub CopierFeuilleDansAutreClasseur() Dim WkSource As Workbook Dim WkCopie As Workbook Dim Chemin As String Set WkSource = ThisWorkbook Set WkCopie = Workbooks.Add WkSource.Sheets("Feuil1").Copy Before:=WkCopie.Sheets(1) With WkSource Chemin = .Path & "\" & .[G4] & "\" If Dir(Chemin) = "" Then MkDir Chemin Application.DisplayAlerts = False WkCopie.SaveAs Chemin & "\" & "-" & .[G3] & _ "-documentation.xls" Application.DisplayAlerts = True End With WkCopie.Close WkCopie = Nothing WkSource = Nothing End Sub
Pour info :
Tester si un répertoire existe avec Dir.
Si Dir renvoi "" c'est que le répertoire n'existe pas faut l créer.
Note : Dir ne crée pas les sous-répertoires s'ils n'existent pas, il faut employer une cascade comme..
Sub CascadeRepertoires() Dim TB, S As String, i As Integer Dim Chemin As String 'Créer un répertoire et sous-Répertoire Chemin = "C:\Test1\Test2" TB = Split(Chemin, "\") If Dir(Chemin) = "" Then S = TB(0) & "\" ' & TB(1) For i = 1 To UBound(TB) S = S & TB(i) & "\" If Dir(S) = "" Then MkDir S End If Next End If End Sub
Je t'ai mis ça au cas ou G4 serait du genre Rep1\Rep2
Et évite tout ces Select qui proviennent de l'éditeur de macro.
Emploi directement les objets.
With Range("AP11:BC11") .Font.Bold = True .Font.ColorIndex = 50 .Interior.ColorIndex = 36 End With
Tu dis.
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
slt,
Desolé pour le deterage de post, ce code est exactement ce dont j'ai besoin sauf que quoi qu'il arrive la fonction dir me renvoi toujours "" même quand je cherche dir (D:\) ce qui est évidement impossible
quelqu'un saurait pourquoi ?
Desolé pour le deterage de post, ce code est exactement ce dont j'ai besoin sauf que quoi qu'il arrive la fonction dir me renvoi toujours "" même quand je cherche dir (D:\) ce qui est évidement impossible
quelqu'un saurait pourquoi ?
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
18 juil. 2014 à 10:04
18 juil. 2014 à 10:04
attention si vous ne rajoutez pas vbdirectory dans les attributs de la fonction dir et que vous chercher des repertoires, elle vous renverra toujours ""
essayez plutôt :
essayez plutôt :
Sub CascadeRepertoires() Dim TB, S As String, i As Integer Dim Chemin As String 'Créer un répertoire et sous-Répertoire Chemin = "C:\Test1\Test2" TB = Split(Chemin, "\") If Dir(Chemin, vbDirectory) = "" Then S = TB(0) & "\" ' & TB(1) For i = 1 To UBound(TB) S = S & TB(i) & "\" If Dir(S, vbDirectory) = "" Then MkDir S End If Next End If End Sub