Création de dossier dans C:\

N

Nono91

Guest
Bonjour à toutes et à tous,
Une fois encore, je tombe sur un os! Je voudrai pouvoir créer un dossier dans c:\ ou sur un autre disque, à partir de mon classeur Excel ouvert. Pour la partie copie de feuille et envoi vers un dossier existant, pas de prob, c'est fait. Ce qu'il faudrai, c'est pouvoir créer le dossier la première fois que l'on se sert de l'appli.
Dans le même contexte, à l'ouverture le l'appli, un USF s'affiche et propose la création du fameux dossier dans C:\ ou autre disque. J'aurai aimé que cet USF n'apparaîsse qu'a lapremière utilisation de l'appli. Bien sûr, tant que le dossier n'est pas créé, il faudrait que cet USF apparaisse.
Et voilà, une fois encore je complique les choses. Je pense que des excelliens comme Ti pourraient m'aider sur ce gros prob!
Merci à tous si vous avez des idées.

Bruno

PS : J'ai testé Add et Créate, mais sans succès ...
 
G

G'Claire

Guest
Bruno, le forum

J'ai trouvé ce code sur dj.joss.free.fr.

Sub CreationDossier()
Dim fso ' As Scripting.FileSystemObject
Dim fd ' As Scripting.Folder
Dim sFolderName ' As String

' Initialisation du nom du dossier
sFolderName = "C:\NewDossier"

Set fso = CreateObject("Scripting.FileSystemObject")

' Vérifier que le dossier à créer n'existe pas
If Not fso.FolderExists(sFolderName) Then
' Créer le dossier.
Set fd = fso.CreateFolder(sFolderName)
MsgBox "Le dossier " & sFolderName & " a été créé"
Else
MsgBox "Le dossier " & sFolderName & " existe déjà!"
End If
End Sub

A voir pour adapter, G'Claire
 
@

@+Thierry

Guest
Bonsoir G'Claire, Non et le Forum


Ne pas oublier l'instruction VBA toute simple MKdir...

Sub BuildDirectory()
MkDir "C:\ThierryXLD"
End Sub

...et pour supprimer le répertoire (pour autant qu'il soit vide)

Sub KillDirectory()
RmDir "C:\ThierryXLD"
End Sub


Pour Ton UserForm il suffit d'aller écrire True dans une cellule cachée à la première utilisation, et de faire le test sur cette cellule au lancement...

Exemple

Dans le Private Module de ThisWorkBook
Private Sub Workbook_Open()
Dim Ouvert As Boolean
Ouvert = Sheets("Feuil1").Range("IV65536")
If Ouvert = False Then
UserForm1.Show
Else
'autre action....
End If
End Sub

Dans le Private Module de Ton UserForm / Bouton OK
Private Sub CommandButton1_Click()
Sheets("Feuil1").Range("IV65536") = True
'les autres actions
End Sub

Bonne Nuit
@+Thierry
 
N

Nono91

Guest
re re re,

Voilà, une fois encore la vitesse est au rendez-vous. Merci @+Thierry! J'en prend note et je test demain. J'ai déjà modifié les lignes que m'a envoyé G'Claire. Je mets au point et je livre sur le forum. L'appli est faite pour réaliser des devis dans le domaine de la Sécurité et avec les dernières loi de la convention.

A bientôt , et merci encore

Bruno
 

Discussions similaires

Réponses
11
Affichages
286

Statistiques des forums

Discussions
312 451
Messages
2 088 523
Membres
103 877
dernier inscrit
imen.chaaba