Enregistrer un fichier en lui donnant le nom d'une cellule

rikiko

XLDnaute Nouveau
Bonjour,

Je souhaite pouvoir "enregistrer sous" mes fichiers en leur donnant pour nom la valeur de la cellule A1.
Est-ce réalisable?

Code:
 Sub sauvegarde()
 
    ActiveWorkbook.SaveAs Filename:= _
        "D:\Excel\Folder\csv\[I]Range("A1")[/I].csv", _
        FileFormat:=xlCSV, CreateBackup:=False


 End Sub

Un truc du genre en fait.
Ainsi la question c'est: comment lui dire que c'est la valeur de la cellule A1 qui doit être définie comme le nom du fichier?


Bonne journée,
 

rikiko

XLDnaute Nouveau
Re : Enregistrer un fichier en lui donnant le nom d'une cellule

Bonjour,

Je ne parviens pas à faire fonctionner cette macro lorsque je l'inclus dans un autre projet:

Code:
Sub CSV()
Dim MyDirectory As String, fso As Object, f As Object, i As Integer
target = "D:\Moi\csv\BAU"


ChDir "D:\Moi\csv\BAU"

Set fso = CreateObject("Scripting.FileSystemObject")
MyDirectory = "D:\Moi\csv\BAU"
For Each f In fso.GetFolder(MyDirectory).Files

If Right(f.Name, 4) = ".csv" Then Workbooks.Open MyDirectory & f.Name
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
Range("D2").Select
ActiveCell.FormulaR1C1 = "105"
Range("K2").Select
ActiveCell.FormulaR1C1 = "Z088"
Range("D3").Select

ThisWorkbook.SaveAs Filename:= _
        "D:\Moi\csv\BAU\" & Range("G2") & ".csv", _
        FileFormat:=xlCSV, CreateBackup:=False


Next f
Application.DisplayAlerts = False
Application.quit


L'objectif de cette macro est de modifier tous les fichiers *csv d'un répertoire donné.

Là j'obtiens l'erreur suivante:
"Erreur d'execution 1004 - Erreur définie par l'application ou l'objet"

Auriez-vous une idée sur l'origine du problème?


Bonne journée,
 

rikiko

XLDnaute Nouveau
Re : Enregistrer un fichier en lui donnant le nom d'une cellule

Selon toute vraisemblance le soucis ne se trouve pas dans la sauvegarde, mais dans la partie suivante, sensée convertir les données :

Code:
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True

Il s'avère que cette partie semble ne pas fonctionner (donc rien n'apparait en cellule G2, donc la sauvegarde est impossible).
Cela-dit elle fonctionne en "stand alone", la conversion se passe effectivement ...
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom