Bonjour

Je suis nouveau sur ce forum, j'ai réaliser dernièrement une macro en VBA qui a l'aide d'un Userform fusionne plusieurs classeurs excel en un seul en copiant les différentes feuilles des classeurs pour les coller dans le nouveau classeur [ exemple : cela permet d'avoir un classeur de 30 feuilles au lieu de 30 classeur de 1 feuille )

voici donc mon programme en VBA ( qui fonctionne ) :

Code VBA : 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
Private Sub CommandButton1_Click()
   Dim ret1 As Integer
    ret1 = MsgBox("Vous aller Fusionner les fichiers Excel présent dans la liste ci-dessus, Continuer?  ", vbYesNo)
    If ret1 = vbNo Then
        Exit Sub
    Else
    Dim Cible As Workbook, chemin$, Filename$, o As Worksheet
    Workbooks.Add
    Set Cible = ActiveWorkbook
    chemin = "Z:\Fichiers Exemples\"
    Filename = Dir(chemin & "*.xlsx")
     Do While Filename <> ""
         Workbooks.Open Filename:=chemin & Filename, ReadOnly:=True
     For Each o In ActiveWorkbook.Sheets
         o.Copy After:=Cible.Sheets(1)
     Next o
       Workbooks(Filename).Close
       Filename = Dir()
     Loop
     ListBox1.Clear
     MsgBox "Importation Réussie avec succès !"
     Unload UserForm1
     End If
End Sub

Ainsi je souhaite faire l'équivalent en C# avec Visual Studio

J'ai ainsi commencé par faire ce début de code :

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
50
51
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
 
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }                
 
        private void button3_Click(object sender, EventArgs e)
        {
            //Fusion Boucle 
            object misValue = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Excel.Application Application = new Microsoft.Office.Interop.Excel.Application();
            Application.DisplayAlerts = false;
            Application.Visible = true;
 
            string chemin, Filename, Filename2;
 
            chemin = @"C:\DEV\VINCENT\New\";
 
            Filename = chemin + "test1.xlsx";
            Application.Workbooks.Open(Filename);
 
            Filename2 = chemin + "test2.xlsx";
            Application.Workbooks.Open(Filename2);         
 
 
 
        }
    }
}
pour le moment Ce programme m'ouvre simplement 2 classeurs excel existant
Comme je suis débutant en C# j'espère que vous pourrez m'éclairer sur le sujet
merci d'avance !

Cordialement