Bonjour à tous,
voici mon tout premier post (sur ce forum), je me réfère à vous pour amener
une correction que je ne peux faire dù à mon manque de connaissances dans
ces macros. Je désire en apprendre plus, et je sais que dans ces forums, il y a
de biens bonnes personnes très compétentes.

Voici la macro: elle copie des cellules Excel (A1 à G13), ouvre une boite de dialogue pour
enregistrer les cellules copiées dans un fichier texte. Tous fonctionne bien, mais
quand la boite de dialogue est ouverte et que je clique sur "annuler", cela va créer
un fichier texte nommé: "faux.txt". J'aimerais empêcher cela et simplement fermer la boite de dialogue.

Merci d'avance de m'éclairer et de m'apprendre.

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
27
28
29
30
31
32
Sub Save_en_txt()
Dim wbSource As Workbook
Dim wsSource As Worksheet
Dim wbDest As Workbook
Dim fName As String
 
'References
Set wbSource = ActiveWorkbook
Set wsSource = ActiveSheet
Set wbDest = Workbooks.Add
 
'Copy range on original sheet
wsSource.Range("A1:G13").Copy
 
'----------------------------
'Save in new workbook
wbDest.Worksheets(1).Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
 
'Get file name and location from user
fName = Application.GetSaveAsFilename(FileFilter:="Text Files (*.txt), *.txt", Title:="Save As")
If fName = "" Then Exit Sub '//user cancelled
 
'Save new tab delimited file
wbDest.SaveAs fName, xlText
 
wbDest.Close SaveChanges:=True
'----------------------------
 
MsgBox "FICHIER EXPORTÉ"
 
End Sub