Choisir un répertoire d'enregistrement

Fermé
david - 2 juil. 2016 à 03:24
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 4 juil. 2016 à 13:17
Bonjour,


Bonjour,
Je suis débutant en VBA, voici ci-joint le code que j'ai réaliser qui permet d'exporter le fichier .xls au format .txt avec un nom bien précis.
Mon code permet d'ouvrir une boite de dialogue pour choisir un répertoire d'enregistrement. Je voudrais changer mon code au lieu d'avoir une boîte de dialogue qui s'affiche. Je souhaiterais mettre en place une fenêtre avec plusieurs choix de répertoires, exemple:
quand je clique sur mon bouton exporter fichier en .txt il m'affiche une fenêtre avec ces cases:

Sélectionner votre répertoire d’enregistrement :
X - 1 dossier c:/dossier_admi
- 2 dossier d:/dossier_admi2

Ensuite:
+ un message vous confirmez l'enregistrement de votre fichier dans votre dossier c:/dossier_admi oui ou non

une dernier message :
votre fichier à bien été enregistrer dans c:/ ou d:/

Sub Export()
Dim linenumber As Integer
Dim strFiles
Dim Plage As Object, oL As Object, oC As Object, Tmp$, Sep$, i As String 'Déclaration des variable
strFiles = Application.GetSaveAsFilename _
(filefilter:="Fichiers txt (*.txt),*.txt", InitialFileName:="test", Title:="Sélectionnez les fichiers à ouvrir")
Set Plage = ActiveSheet.Range("O2:O" & ActiveSheet.Range("A65500").End(xlUp).Row)
Open strFiles For Output As #1 '
'Initialisation d 'un compteur de ligne
linenumber = 2
For Each oL In Plage.Rows
Tmp = ""

For Each oC In oL.Cells
'Si la cellule (F, line-number) est X
If (Cells(linenumber, 6).Value = "X") Then
Tmp = Tmp & CStr(oC.Text) & Sep
'Sinon rien
End If
Next
Print #1, Tmp
'Incrémentation du compteur
linenumber = linenumber + 1
Next
Close
End Sub
                        • PAR AVANCE MERCI**********************************
A voir également:

2 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
2 juil. 2016 à 12:22
Bonjour,

un exemple: https://www.cjoint.com/c/FGckvlVjUCf

Par contre j'ai un serieux doute sur le contenu de votre fichier TXT, car vous n'avez qu'une seule colonne dans votre Plage !!!!!!!!!!!!!!!!!!!!!
0
Bonjour,
Merci bcp f894009 pour ta réponse, c'est exactement ce que je cherchais. Cependant j'ai encore quelque questions:
j'ai adapté ton code à mon développement, mais j'ai un souci y a un seul chemin d'enregistrement qui relie optionButton à mon dossier, sachant que moi je voudrais mettre au moins 2 chemins, voici ton code:
Sub Export(Repertoire)
Dim strFiles
Dim Plage As Object, oL As Object, oC As Object, Tmp$, Sep$, i As String 'Déclaration des variables

Repertoire = "C:\Users\Nouveau dossier\_TXT\"
Je souhaiterais stocker un chemin différent pour chaque optionButton:
et ensuite ajouter ces condition
If OptionButton1.Value = True Then strFiles = repertoire tata dans le disque C
If OptionButton2.Value = True Then strFiles = repertoire toto dans le disque D

Par avance, un très grand merci à toi
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 4/07/2016 à 13:18
Bonjour,

j'ai adapté ton code à mon développement
Booh Oui, mais comment appelez-vous la procedure Sub Export(Repertoire) ??
Dans mon exemple tout ce fait automatiquement !!!!
0