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 :
pour le moment Ce programme m'ouvre simplement 2 classeurs excel existant
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); } } }
Comme je suis débutant en C# j'espère que vous pourrez m'éclairer sur le sujet
merci d'avance !
Cordialement
Partager