Macro Excel qui crée un nouveau fichier à partir d'une feuille

Bonjour je vous explique la problématique que je rencontre, je ne suis pas très fort en VBA donc j'apprends, là j'ai un travail en plusieurs étapes à faire

1/ en gros j'ai un fichier XLSM avec par exemple la 1ère feuille et la macro derrière, et je veux créer un nouveau fichier XLS à partir de la première feuille du fichier de base

2/ J'ai ensuite une macro qui convertit ce fichier XLS en fichier CSV, et là ce que je veux savoir c'est comment ré utiliser le nouveau fichier dans cette macro là

La macro qui convertit le fichie a un début qui ressemble à ça (je mets que le début car ça marche ça)

Function CSVConverted(fileToConvert As String) As String

    Dim toConvertFile As String
    Dim convertedFile As String
    Dim Rows As Long
    Dim Cols As Long
    Dim J As Long
    Dim K As Long
    Dim sTemp As String
    Dim sSep As String
    Dim wb As Workbook

Mais voilà comment je fais pour que mon fileToConvert soit bien le nouveau fichier XLS choisit et qu'il reconnaisse bien ? Je suis vraiment perdu

J'ai un truc du genre en ébauche

Sub CreateFile()
  Dim nomFichier As String
  Dim chemin As String
  Dim sSep As String
  Dim sInFilePath As String
  Dim sOutFilePath As String

  chemin = ThisWorkbook.Path & "\"
  nomFichier = chemin & "test.csv"

  ThisWorkbook.Worksheets("Deliveries").Copy
  Application.DisplayAlerts = False
  ActiveWorkbook.SaveAs Filename:=nomFichier, FileFormat:=xlCSV, local:=True
  ActiveWorkbook.Close
  Application.DisplayAlerts = True

Mais en gros ré utiliser le fichier crée à partir de ça dans la macro du 2, voilà voilà

Sub CreateFile()
    ' Copy the active sheet
    ' This automatically creates a new workbook
    ' with the sheet copied in it
    Dim nomFichier As String
    Dim chemin As String

    chemin = ThisWorkbook.Path & "\"
    nomFichier = chemin & "test.xlsx"

  ThisWorkbook.Worksheets(1).Copy
  Application.DisplayAlerts = False
  ActiveWorkbook.SaveAs Filename:=nomFichier, local:=True
  ActiveWorkbook.Close
  Application.DisplayAlerts = True

End Sub

JE tente ça, mais ça marche pas, je comprends pas, pourtant je veux que ça me crée un nouveau fichier Excel dans le meme chemin que le premier fichier XLSM, raaaah

Ah non c'est bon un nouveau fichier est bien crée ! Mais maintenant il faut utiliser le fichier crée dans la macro précédente pour l'appliquer dans la macro qui convertit en CSV...

Function CSVConverted(fileToConvert As String) As String

    Dim toConvertFile As String
    Dim convertedFile As String
    Dim Rows As Long
    Dim Cols As Long
    Dim J As Long
    Dim K As Long
    Dim sTemp As String
    Dim sSep As String
    Dim wb As Workbook

C'est à dire j'ai mon filename c'est nomFichier et tout mais je sais pas quoi en faire

Bonjour, je vois pas trop l'intérêt de passer par un fichier xlsx avant ?

Cependant pourquoi vous fermez votre fichier xlsx ? quand il est ouvert il suffit de lui demander un enregistrement en csv avant de le fermer.

Dans la même macro création des deux fichiers.

Sub createFile()
Dim nomFichier As String
Dim chemin As String
Dim nomcsv As String

    chemin = ThisWorkbook.Path & "\"
    nomFichier = chemin & "test.xlsx"
    nomcsv = chemin & "test.csv"

Application.DisplayAlerts = False

ThisWorkbook.Worksheets("Feuil1").Copy

'CREATION FICHIER XLSX

ActiveWorkbook.SaveAs Filename:=nomFichier, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

'CREATION FICHIER CSV
ActiveWorkbook.SaveAs Filename:=nomcsv, _
        FileFormat:=xlCSV, CreateBackup:=False

'Fermer fichier
ActiveWorkbook.Close

Application.DisplayAlerts = True
Rechercher des sujets similaires à "macro qui cree nouveau fichier partir feuille"