Copier/Coller Excel Dans C# [Résolu]

Signaler
Messages postés
12
Date d'inscription
lundi 16 juin 2014
Statut
Membre
Dernière intervention
23 juillet 2014
-
Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
-
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

Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
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);
 
}



Messages postés
16041
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 juin 2021
551
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 _
Messages postés
12
Date d'inscription
lundi 16 juin 2014
Statut
Membre
Dernière intervention
23 juillet 2014

Problème résolu.

Merci
Messages postés
32986
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2021
351
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