Choisir un répertoire d'enregistrement

david -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
david
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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