Bonjour,

Désolé pour le manque de clarté du titre, je ne voyais pas comment le synthétiser.
J'aimerais savoir s'il est possible de regrouper toutes les feuilles d'un classeur (.xls / .xlsx) en une seule et même feuilles afin de pouvoir transformer le fichier en .csv

Par exemple, la feuille 1 contient 6 lignes, la 2 en contient 8 et la 3 en contient 12, ces 3 feuilles seraient regroupés en une seule feuille de 26 lignes.

Merci d'avance .

EDIT: Je me suis lancé dans l'idée d'exécuter une macro VBA via VB.NET, macro permettant de fusionner les onglets. Je pense que cette méthode sera plus efficace.

EDIT 2: J'ai réussie avec cette méthode...

Macro VBA:
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
Option Explicit
Sub FusionOnglets()
    Dim ws As Worksheet
 
    For Each ws In Worksheets
        If ws.Name <> "Recap" Then
            Application.ScreenUpdating = False
            ws.Activate
            Range("A1:" & [a1].SpecialCells(xlCellTypeLastCell).Address).Copy
            Sheets("Recap").Activate
            Range("A65536").End(xlUp).Offset(1, 0).Select
            ActiveSheet.Paste
            Application.CutCopyMode = False
        End If
    Next ws
End Sub
N'oubliez pas de mettre "Recap" en première feuille...

Démarrage de la macro:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim ExcelApplication As New Excel.Application
Dim ExcelWrkBook As Excel.Workbook
 
ExcelApplication.Visible = False
ExcelApplication.DisplayAlerts = False
 
ExcelWrkBook = ExcelApplication.Workbooks.Open("C:\Exemple.xls")
ExcelApplication.Run("FusionOnglets")
ExcelWrkBook.SaveAs(Filename:="C:\Exemple.xlc", FileFormat:=Microsoft.Office.Interop.Excel.XlFileFormat.xlCSV)
 
ExcelApplication.Workbooks.Close()
ExcelApplication = Nothing
ExcelWrkBook = Nothing

Cependant, il me reste toujours un petit problème, même assez important, bien que n'entravant pas le fonctionnement du programme. Après chaque exécution du programme, j'ai deux processus "EXCEL.exe" qui sont créés.
J'ai essayé de mettre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ExcelApplication = Nothing
ExcelWrkBook = Nothing
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ExcelApplication.Workbooks.Close()
mais rien n'y fait x).

Quelqu'un aurait-il une idée sur comment résoudre ce problème s'il vous plait?

Merci.