Transformer une liste excel en dossiers windows

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

  • Noms.xls
    13.5 KB · Affichages: 105
  • Noms.xls
    13.5 KB · Affichages: 109
  • Noms.xls
    13.5 KB · Affichages: 110
Dernière édition:

bvb09

XLDnaute Nouveau
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

  • sofysofe.xls
    25.5 KB · Affichages: 191

sofysofe

XLDnaute Junior
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 ...
 

chris

XLDnaute Barbatruc
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
 

sacapatates

XLDnaute Nouveau
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 édition:

dany.wanono

XLDnaute Nouveau
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

  • Noms_Dossiers1.xls
    33.5 KB · Affichages: 78

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 749
Messages
2 091 623
Membres
105 009
dernier inscrit
aurelien76110