Création sous dossier pose problème
Résolu
irongege
Messages postés
41001
Date d'inscription
Statut
Modérateur
Dernière intervention
-
irongege Messages postés 41001 Date d'inscription Statut Modérateur Dernière intervention -
irongege Messages postés 41001 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Dans mon projet, à l'initialisation , on verifie si un dossier existe en fonction de l'année et si changement d'année, création d'un nouveau dossier.
Cela marche bien.
Ensuite dans une autre fenêtre, il y a un bouton d'enregistrement qui va crée un sous dossier dans le dossier de l'année correspondante mais l'execution se bloque.
Voici le code :
Merci à vous ;-)
Dans mon projet, à l'initialisation , on verifie si un dossier existe en fonction de l'année et si changement d'année, création d'un nouveau dossier.
Cela marche bien.
Labelannee.Caption = Year(Date) [C33] = Labelannee.Caption If Dir("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "", vbDirectory) <> "" Then Else MkDir ("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "") End If
Ensuite dans une autre fenêtre, il y a un bouton d'enregistrement qui va crée un sous dossier dans le dossier de l'année correspondante mais l'execution se bloque.
Voici le code :
ChDir "C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & " \ """ MkDir ("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\Batch") Name "C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\Batch" As "C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\" & "Batch_"& Range("C33").Value & _Bl_ N° & Range("B25").Value & ""
Merci à vous ;-)
A voir également:
- Création sous dossier pose problème
- Dossier appdata - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
4 réponses
Et hop, j'ai modifié mon code et ça marche nickel :
ChDir "C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & ""
MkDir ("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\" & "Batch_BL_N°" & Range("B25").Value & "")
ChDir "C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & ""
MkDir ("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\" & "Batch_BL_N°" & Range("B25").Value & "")
Bonjour tous,
Pour le fun :-)
Le dessus du module
Ton 1er exemple
Le second,
Avantage 1 : Pas besoin de tester, si existe ->OK si existe pas -> Le crée
Avantage 2 : Supposons ton appli dans le répertoire MonAppli
Tu veux créer un sous-rep Archive
Et dans ce sous-rep un répertoire par année
A partir de
Si le répertoire Archive existe déjà MkDir créera Year(Now) si tu fais le test et que tu lui dis
Supposons maintenant que ton appli vient d'être installée dans le répertoire MonAppli, tu dois t'assuré de créer le répertoire Archive, ce qui veux dire que dans ton code tu auras des instructions qui ne servirons qu'une seule fois.
C'est là qu'intervient cette API, elle crée non seulement le répertoire manquant mais également tout le chemin ce que MkDir ne fait pas. Donc plus besoin de créer Archive, c'est automatique.
A+
EDIT :
Pourquoi ChDir quand tu détermine le chemin absolu ?
Pourquoi & "" en fin d'initialisation ? ça sert à rien ?
EDIT 2:
Et si tu emploi ChDir pour un chemin relatif tu dois d'abord forcer le drive avec ChDrive, ChDir ne change pas de DD.
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. Et ma boule de cristal est cassée .
Pour le fun :-)
Le dessus du module
Option Explicit Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
Ton 1er exemple
Dim NouvRep NouvRep = ("C:\Suivi_DLC\" & "Archives_" & Range("C33").Value) MakeSureDirectoryPathExists NouvRep
Le second,
Name = "C:\Suivi_DLC\" & "Archives_" & Range("C33").Value & "\" & "Batch_" & Range("C33").Value & "Bl_ N°" & Range("B25").Value MakeSureDirectoryPathExists Name
Avantage 1 : Pas besoin de tester, si existe ->OK si existe pas -> Le crée
Avantage 2 : Supposons ton appli dans le répertoire MonAppli
Tu veux créer un sous-rep Archive
Et dans ce sous-rep un répertoire par année
A partir de
Rep= App.path & "\Archive\" & Year(Now)
Si le répertoire Archive existe déjà MkDir créera Year(Now) si tu fais le test et que tu lui dis
Supposons maintenant que ton appli vient d'être installée dans le répertoire MonAppli, tu dois t'assuré de créer le répertoire Archive, ce qui veux dire que dans ton code tu auras des instructions qui ne servirons qu'une seule fois.
C'est là qu'intervient cette API, elle crée non seulement le répertoire manquant mais également tout le chemin ce que MkDir ne fait pas. Donc plus besoin de créer Archive, c'est automatique.
A+
EDIT :
Pourquoi ChDir quand tu détermine le chemin absolu ?
Pourquoi & "" en fin d'initialisation ? ça sert à rien ?
EDIT 2:
Et si tu emploi ChDir pour un chemin relatif tu dois d'abord forcer le drive avec ChDrive, ChDir ne change pas de DD.
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. Et ma boule de cristal est cassée .
De plus encore, il y a longtemps que j'ai quitté l'école !
Au passage, Salut madmyke !