Bonjour,
j'ai besoin de créer un répertoire avec un nom standard qui dépendra des valeurs rentrées dans ma feuille Excel.
Pour ce faire j'appelle une fenêtre genre GetOpenFileName
je stocke le résultat
je le modifie pour rajouter le nom de du nouveau repertoire (fonction de valeurs de ma feuille vous suivez?)
C'est là que les ennuis commencent :
je voudrais faire en sorte que lorsque le répertoire existe déjà proposer d'autre choix à l'utilisateur.
Pour faire ce test j'utilise la fonction Dir() et j'ai l'impression que quelque soit la valeur que je lui donne elle me renvoi une chaine vide
voici le morceau de mon code incriminé:
a l'exécution de ce code dans le cas d'un répertoire existant je tombe sur une erreur 75 : erreur chemin/fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 Begin: Directory_Path = "" ' CHOIX D'UN DOSSIER PAR VBA Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFolderPicker) Dim vrtSelectedItem As Variant With fd MsgBox "Please select where do you want to create a - " & "PRF ACE7000 " & Feuil1.RBU_NAME_text_box.Text & " " & Feuil1.CUSTOMER_name_text_box.Text & "-new directory." If .Show = -1 Then 'ie if the user has clicked on open For Each vrtSelectedItem In .SelectedItems Directory_Path = vrtSelectedItem Next vrtSelectedItem Else Directory_Path = "False" End If End With Set fd = Nothing If Directory_Path <> "False" Then '**************** creation of a new directory that contains the attached files test = Dir(Directory_Path) MsgBox test 'initializing the automatic directory path name Directory_Path = Directory_Path & "\PRF ACE7000 " & Feuil1.RBU_NAME_text_box.Text & " " & Feuil1.CUSTOMER_name_text_box.Text If Dir(Directory_Path) = "" Then 'if the directory does not _ already exists MkDir Directory_Path Directory_Path = Directory_Path & "\" Else Dim Continue As Integer Continue = MsgBox("The selected directory contains already a " _ & "directory named " & "-PRF ACE7000 " & Feuil1.RBU_NAME_text_box.Text & " " _ & Feuil1.CUSTOMER_name_text_box.Text & "-" _ & " click on Retry to select an other path, on Ignore to continue with the old directory name or on Abort to stop the process" _ , vbAbortRetryIgnore) Select Case Continue Case 3 'abort Exit Sub Case 4 'retry GoTo Begin Case 5 'ignore Directory_Path = Directory_Path & "\" GoTo File_Copying Case Else End Select End If File_Copying:
Donc je cherche à comprendre pourquoi l'instruction Dir() ne fonctionne pas : quelque soit le chemin choisit : pour avoir un nouveau repertoire ou dans le cas d'un repertoire existant.
(dans mes test j'écris sur un lecteur réseau ça vient ptêt de là...)
Par ailleur Krovax (loué soit son nom!) m'avait conseillé cf (http://www.developpez.net/forums/d78...fichier-excel/) une autre solution pour créer des repertoire, méthode que j'ai trouvé lourde. Je lui ai préféré mkdir. Que pensez vous de ce choix?
si quelqu'un a une idée qui me permettrait de créer un répertoire et dans le cas où il existe déjà proposer à l'utilisateur l'utilisation de ce répertoire existant, l'écrasement de l'ancien ou la sortie pure et simple de la procédure
Partager