Créer un fichier texte dans un dossier

Bonjour aux développeurs aguerris,

Voici ma sombre macro destinée à créer un fichier texte dans un dossier.

Sub OpenFolder2()

Dim sFolder As String
strFolder = "C:\Users\nomdutil\Downloads"
ActiveWorkbook.FollowHyperlink Address:=strFolder, NewWindow:=True
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Select a Folder"
        If .Show = -1 Then ' if OK is pressed
            sFolder = .SelectedItems(1)
        End If
    End With

Dim numfich As Integer
Dim us As String, Fichier$
'creation du fichier vide = desktop.txt dans ThisWorkbook.Path ?
Fichier = sFolder & "\desktop.txt"
If Dir(Fichier) = "" Then
    numfich = FreeFile
    Open Fichier For Output As #numfich
    Print #numfich, "[.ShellClassInfo]"
    Print #numfich, "IconResource=C:\WINDOWS\System32\SHELL32.dll,110"
    Print #numfich, "[ViewState]"
    Print #numfich, "Mode="
    Print #numfich, "Vid="
    Print #numfich, "FolderType = Music"
    Close #numfich
End If
End Sub

Lors de l'utilisation, deux fenêtres s'ouvrent: Downloads et Select a Folder en arrière plan.
Select a Folder pointe sur C:\Users\"nomdutil"\Documents et non sur C:\Users\"nomdutil"\Downloads!
Il faut donc cliquer sur downloads et sur le dossier choisi.
Pourquoi deux fenêtres?
Le fichier desktop.txt est créé dans le dossier choisi.

PM xl 2013

Merci d'avance !!

Bonjour boski11

Utiliser le mode débogage de VBA project
Vous mettez votre curseur sur la 2ème ligne "StrFolder =" puis F9 = acitver un point d'arrêt

Ensuite vous lancer le code et le faites défiler par F8

Vous devriez comprendre tout de suite

A+

Merci Bruno pour le conseil qui ne m'a pas déclanché un début de solution et j'en suis désolé.

En mettant le point d'arrêt sur "With Application.FileDialog(msoFileDialogFolderPicker)" seule la fenêtre Downloads est ouverte.

Ce sont les instructions suivantes qui semblent vicier la procédure.

Tous les sites qui traitent du sujet notamment US ne m'ont pas amenés le moindre éclaircissement.

A+ j'espère

Cordial salut

Re,

Mauvaise pioche , il fallait mettre le point d'arrêt sur

strFolder = "C:\Users\nomdutil\Downloads"

Et pour moi,

ActiveWorkbook.FollowHyperlink Address:=strFolder, NewWindow:=True

= 1ère fenêtre

 With Application.FileDialog(msoFileDialogFolderPicker)

= 2ème fenêtre

Ceci dit, j'espère avoir bien compris votre souci

A+

Bonjour boski11, bonjour Bruno

Essaie cela :

Sub OpenFolder2()

Dim sFolder As String
strFolder = "D:\Downloads"
Application.FileDialog(msoFileDialogOpen).InitialFileName = strFolder
    With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "Select a Folder"
            If .Show Then             ' on vérifie que l'utilisateur a bien choisi un fichier et n'a pas appuyé sur "annuler"
                sFolder = .SelectedItems(1)
            Else
                MsgBox "Aucune fichier sélectionné"
                Exit Sub
            End If
        End With

Dim numfich As Integer
Dim us As String, Fichier$
'creation du fichier vide = desktop.txt dans ThisWorkbook.Path ?
Fichier = sFolder & "\desktop.txt"
If Dir(Fichier) = "" Then
    numfich = FreeFile
    Open Fichier For Output As #numfich
    Print #numfich, "[.ShellClassInfo]"
    Print #numfich, "IconResource=C:\WINDOWS\System32\SHELL32.dll,110"
    Print #numfich, "[ViewState]"
    Print #numfich, "Mode="
    Print #numfich, "Vid="
    Print #numfich, "FolderType = Music"
    Close #numfich
End If
End Sub

Bonne soirée à tous

Bonjour à Patty & Bruno, mes sauveurs.

Grace à cette cligne de commande magnifique le problème est résolu :
"Application.FileDialog(msoFileDialogOpen).InitialFileName = strFolder"

Préalablement pour que ça fonctionne chez moi, j'ai conservé la cible soit strFolder = "C:\Users\nomdutil\Downloads"

Le résultat reste probant après plusieurs essais.

Illico je procède donc au cliquage du bouton idoine avertissant la communauté que le problème est résolu

Je remercie vivement les hérauts du site, ainsi que les chantres du vba.

Cordial salut à Patty et Bruno

Rechercher des sujets similaires à "creer fichier texte dossier"