Bonjour le forum,
Je reviens une nouvelle fois demander conseil à tous les membres face à ma méconnaissance et mon incompréhension concernant le "GetSaveAsFilename"....
Voici, dans ma macro, je souhaite enregistrer plus ou moins automatiquement mon classeur une fois celui ci traité. J'utilise donc la commande "GetSaveAsFilename" avec entre parenthèse un "InitialFilename" afin que l'utilisateur puisse choisi ou enregistrer le classeur. La macro fonctionne, mais le problème survient une fois le classeur enregistré. En effet, celui ci est bien enregistré à l'emplacement choisi, mais le nom du fichier se termine toujours par un . (point) et le type de fichier est .dat
Quelqu'un a t'il une idée SVP?
Voici le code:
Si je me basse sur le code suivant et que run=1 par exemple,
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Sub sunvoc() Dim NewBook As Workbook Dim TreatedFile As Workbook Dim counter As Variant Dim a As Variant 'declaration de la varaible a comme nombre Dim pff As String Dim pvoc As String Dim rshunt As String Dim sample As String Dim injectionlevel As String Dim tableau() As String Dim run As String Dim chemin As String Application.ScreenUpdating = False run = InputBox("Run Number?") Set NewBook = Workbooks.Add 'creation d'un nouveau fichier a = 1 'initialisation a 1 counter = Application.GetOpenFilename(fileFilter:=",*.xls", MultiSelect:=True) On Error GoTo suite While counter(a) <> "" 'Condition Set TreatedFile = Application.Workbooks.Open(counter(a)) 'là je traite mes données avec tout un blabla.... %%%%% suite: 'Mise en forme With NewBook.Worksheets(1) .Range("A4").Value = "Sample Name" 'ici je fais une mise en forme avec un autre blabla End With Application.ScreenUpdating = True 'Mise a jour de l'ecran chemin = Application.GetSaveAsFilename("SunVoc_Resume Run " & run) 'ici je fais apparaitre la boite de dialogue avec un nom initial au fichier NewBook.SaveAs (chemin) 'ici j'enregistre Set NewBook = Nothing Set TreatedFile = Nothing End Sub
le classeur résultant aura le nom SunVoc_Resume Run 1. et le type de fichier est .dat, donc impossible de le réouvrir avec excell.
Une autre question: pourquoi dans la ligne
si je remplace le "open" par un "OpenText" cela ne fonctionne plus?? (faut-il aussi que je remplace "Open" par "OpenText" dans la ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set TreatedFile = Application.Workbooks.Open(counter(a))
)
Code : Sélectionner tout - Visualiser dans une fenêtre à part counter = Application.GetOpenFilename(fileFilter:=",*.xls", MultiSelect:=True)
Vous remerciant de votre aide,
Johann
Partager