Transformer une liste excel en dossiers windows

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sofysofe

XLDnaute Junior
Transformer une liste excel en dossiers windows

Bonjour,

J'ai une liste d'une colonne contenant des noms, et j'aimerai pouvoir créer automatiquement un dossier par nom (l'emplacement à peu d'importance, C:\Temp par exemple).
Mon fichier d'exemple ne contient que quelques noms, celui sur lequel j'aimerai le faire en contient environ 1200.

Merci d'avance pour votre aide !!!

Sofysofe
 

Pièces jointes

Dernière édition:
Re : Transformer une liste excel en dossiers windows (URGENT ...)

Bonjour,

Est-ce ce que tu cherches?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then
MkDir "C:\" & Target


End If
End Sub


Cordialement

bvb09
 

Pièces jointes

Re : Transformer une liste excel en dossiers windows (URGENT ...)

Bonjour,

Est-ce ce que tu cherches?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Row > 1 Then
MkDir "C:\" & Target


End If
End Sub


Cordialement

bvb09
Bonjour,

En fait, je ne veux pas que ça me crée, dans Excel, un chemin d'accès, mais que ça crée réellement les dossiers (dans c:\Temp par exemple et je les déplacerai ensuite manuellement dans leur emplacement sur le réseau).
En fait j'ai une liste de noms et je dois créer un dossier par nom, ce qui risque d'être long car j'ai 1500 noms, je me suis donc dit qu'il existait peut-être un moyen pour automatiser ça ...
 
Re : Transformer une liste excel en dossiers windows (URGENT ...)

Bonjour

sacapatates à dit:
Un truc dans ce genre je pense
sauf qu'ici si le dossier existe deja ca plante
Code:
Sub dossier()
Dim i As Integer
Dim rep As String


i = 2
While Sheets(1).Cells(i, 1) <> ""
rep = "C:\" & Sheets(1).Cells(i, 1).Value

MkDir rep

Wend

End Sub

Il doit manquer i=i+1
avant le Wend
 
Re : Transformer une liste excel en dossiers windows (URGENT ...)

C'est super ! Sauf que :
1. Ca ne créé qu'un dossier
2. Ca plante et quand je fait Debug, ça se met sur la ligne "MkDir rep"


Pour 1 cf reponse de chris
Pour 2
sauf qu'ici si le dossier existe deja ca plante

Sub dossier()
Dim i As Integer
Dim rep As String


i = 2
While Sheets(1).Cells(i, 1) <> ""
rep = "C:\" & Sheets(1).Cells(i, 1).Value

On Error Resume Next
MkDir rep

i = i + 1
Wend

End Sub
 
Dernière modification par un modérateur:
Re : Toute petite amélioration

J'ai effectué une petite amélioration. L'utilisateur saisit le chemin du dossier à partir duquel les autres sont créés en C1.
On pourrait d'ailleurs imaginer qu'une boîte de dialogue le permette en sélectionnant cela en cliquant.





Option Explicit
Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
(ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long
Private Sub CreationDossier(sNomRep As String)
'issu d'un code de KiKi29 de https://www.excel-downloads.com/threads/creer-dossier-enregistrer-dedans.110203/
'ChDrive "D"
SHCreateDirectoryEx 0&, sNomRep, 0&
End Sub

Sub Tst()
'issu d'un code de KiKi29 de https://www.excel-downloads.com/threads/creer-dossier-enregistrer-dedans.110203/
Dim Rep As String, nomdeb As String, cel As Range, derl As Double
derl = Range("A65536").End(xlUp).Rows.Row
'nomdeb = "C:\Temp"
nomdeb = Range("C1").Value

For Each cel In Range("A2:A" & derl)
cel.Select
Rep = nomdeb & "\" & ActiveCell.Value
'MsgBox Rep
CreationDossier Rep
Next
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour