Copier/Coller Excel Dans C#

Résolu
AkramIng
Messages postés
12
Date d'inscription
lundi 16 juin 2014
Statut
Membre
Dernière intervention
23 juillet 2014
- Modifié par jordane45 le 16/06/2014 à 15:23
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
- 25 juin 2014 à 11:20
Svp, j'ai voulu de copier un onglet (worksheet) d'une feuille excel X vers un autre onglet d'un autre fichier excel y existant.
J'ai utilisé la méthode "Copy" du namespace "Microsoft.Office.Interop.Excel"
mais ça marche pas ("Copy" fonctionne que pour une copie dans le même fichier Excel) .
si vous connaissez comment faire, merci de m'aider.
le code utilisé est :
public void Lecture_fond()
        {
          Application xl = new Application();
            Workbook workbook = xl.Workbooks.Open(Chemin_fond_input);
            Worksheet ws = (Worksheet)workbook.Sheets["_FVAGIPI 1213"];
            Workbook workbook1 = xl.Workbooks.Open(Chemin_modgap_input);
            Worksheet ws1 = (Worksheet)workbook1.Sheets["Fonds"];
            ws.Copy(ws1, Type.Missing);
 
}

2 réponses

jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
16 juin 2014 à 17:35
Bonjour,

La méthode copy fonctionne vers un autre classeur...

En VBA elle s'écrit:
Workbooks("monClasseur1.xlsx").Sheets("Feuil1").Copy Before:=Workbooks("monAutreClasseur.xlsx").Sheets(1)

http://msdn.microsoft.com/fr-fr/library/microsoft.office.tools.excel.worksheet.copy.aspx


ce qui, en C# devrait ressembler à un truc du genre :

public void Lecture_fond()
        {
          Application xl = new Application();
            Workbook wbk1= xl.Workbooks.Open(Chemin_fond_input);
            Worksheet ws1 = (Worksheet)wbk1.Sheets["_FVAGIPI 1213"];
            Workbook wbk2= xl.Workbooks.Open(Chemin_modgap_input);
            Worksheet ws2 = (Worksheet)wbk2.Sheets["Fonds"];
            ws1.Copy(wbk2.ws2 , Missing.Value);
 
}



0
Whismeril
Messages postés
17493
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
601
17 juin 2014 à 09:43
Bonjour, je confirme le code de Jordoane.

Cependant, aller savoir pourquoi, il existe deux insterfaces pour les classeurs (Workbook et _Workbook) et deux pour les feuilles (Worksheet et _Worksheet).
J'ai constaté par le passé que mes codes fonctionnent mieux avec les interfaces commençant par les _
0
AkramIng
Messages postés
12
Date d'inscription
lundi 16 juin 2014
Statut
Membre
Dernière intervention
23 juillet 2014

25 juin 2014 à 11:17
Problème résolu.

Merci
0
jordane45
Messages postés
35818
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 juillet 2022
358
25 juin 2014 à 11:20
Bonjour,
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0