Bonjour,
Je vais creer des dossiers en VBA mais seulement si ceux-ci n existe pas donc mon idee est de tester la presence du dossier mais je ne connais pas le code ?
Merci
Tom
Bonjour,
Je vais creer des dossiers en VBA mais seulement si ceux-ci n existe pas donc mon idee est de tester la presence du dossier mais je ne connais pas le code ?
Merci
Tom
Bonjour,
Utilise simplement la fonction Dir avec l'attribut 16 (ou la constante VBDirectory)
Tu as un exemple dans ton aide en ligne (sur ta machine) et également des exemples dans des discussions encore très récentes.
EDIT : je te signale également la possibilité d'utiliser la fonction SHCreateDirectoryEx de la Librairie Shell32 de l'Api de Windows (c'est ce que je préfère personnellement utiliser) .
Cette fonction en en effet, elle, capable de ne créer un répertoire QUE S'IL N'EXISTE PAS (et le tout en silence).
merci beaucoup Ucfoutu surtout pour l Edit qui m interesse beaucoup...
Ucfoutu :
Est ce que tu peux poster un exemple d utilisation de la fonction:
SHCreateDirectoryEx
J'essaye de m'aider du FAQ sur les API mais je dois pas developper le bon code je pense.
Merci
Tom
bonjour
Comment vérifier si un dossier existe ?
bonne journée
michel
Oui ?
regarde alors la réponse N° 6 donnée ici :
http://www.developpez.net/forums/sho...ateDirectoryEx
Et analyse-la, puis adapte
Et oublie donc cette partie, qui n'est là que pour "montrer" :
Saute-la donc (elle ne sert à rien dan ton cas...)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If Dir(fichier, 0) = "" Then 'ici tes instructions de sauvegarde Else MsgBox "le fichier " & fichier & " existe déjà !" End If![]()
ceci fonctionne tres bien mais j ai voulu le simplifier avec une boucle For Next
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 Private Sub commandButton1_click() Dim i As Integer Dim Directory1, Directory2, Directory3, Directory4, Directory5, Directory6 As String Dim CheckCreate As Long Directory1 = "D:\Documents and Settings\My Documents\structure" Directory2 = "D:\Documents and Settings\My Documents\shared" Directory3 = "D:\Documents and Settings\My Documents\structure\template A" Directory4 = "D:\Documents and Settings\My Documents\structure\template B" Directory5 = "D:\Documents and Settings\My Documents\structure\template C" Directory6 = "D:\Documents and Settings\My Documents\structure\template D" CheckCreate = SHCreateDirectoryEx(0&, Directory1, 0&) CheckCreate = SHCreateDirectoryEx(0&, Directory2, 0&) CheckCreate = SHCreateDirectoryEx(0&, Directory3, 0&) CheckCreate = SHCreateDirectoryEx(0&, Directory4, 0&) CheckCreate = SHCreateDirectoryEx(0&, Directory5, 0&) CheckCreate = SHCreateDirectoryEx(0&, Directory6, 0&) UserForm1.Show End Sub
Dim i as integer
For i = 1 to 6
j ai aussi essaye
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Directory1 = "D:\Documents and Settings\My Documents\structure" Directory2 = "D:\Documents and Settings\My Documents\shared" Directory3 = "D:\Documents and Settings\My Documents\structure\template A" Directory4 = "D:\Documents and Settings\My Documents\structure\template B" Directory5 = "D:\Documents and Settings\My Documents\structure\template C" Directory6 = "D:\Documents and Settings\My Documents\structure\template D" CheckCreate = SHCreateDirectoryEx(0&, Directory& i, 0&)
mais je peux pas declarer Directory 1
car des que je fais Dim Directory 1 as string => bug sur le 1
une idee pour simplifier ou sinon je reste comme ca , enfin c est pour m instruire aussi que je demande cela.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Directory 1 = "D:\Documents and Settings\My Documents\structure" Directory 2 = "D:\Documents and Settings\My Documents\shared" Directory 3 = "D:\Documents and Settings\My Documents\structure\template A" Directory 4 = "D:\Documents and Settings\My Documents\structure\template B" Directory 5 = "D:\Documents and Settings\My Documents\structure\template C" Directory 6 = "D:\Documents and Settings\My Documents\structure\template D" CheckCreate = SHCreateDirectoryEx(0&, Directory & i, 0&)[/
merci
Partager