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:/
****************************************
************PAR AVANCE MERCI**********************************
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
24
25
26 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
Partager