IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Excel copie de feuille


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut Excel copie de feuille
    bonjour,
    Je desir dupliquer une feuille excel dans le meme classeur sous C++ builder :

    voila le code utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    vMSExcel = Variant::CreateObject("Excel.Application");
    vFileName = "c:\\Rapport.xls";
    vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
    vXLWorkbook = vXLWorkbooks.OleFunction("Open", vFileName);				//Ouverture fichier de travail		 
    vSheetName = "Vide";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);				//selection feuille de travail
     
    vMSExcel.OlePropertySet("Visible", true);										//Rendre excel visible
     
    vSheetName = "Vide";
    vWorksheet.OleFunction("Copy",vSheetName );
    Mais j'ais une erreur sur la derniere ligne
    si il y en a parmis vous qui on une idee merci par avance

    Ps: j'arrive sans probleme à copier la feuille dans un nouveaux classeur!!!!! mais je veux rester dans le meme

  2. #2
    Membre averti
    Inscrit en
    Décembre 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 29
    Par défaut
    j'ais trouver merci quand meme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    vMSExcel = Variant::CreateObject("Excel.Application");
    vFileName = "c:\\Rapport.xls";
    vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
    vXLWorkbook = vXLWorkbooks.OleFunction("Open", vFileName);		 				//Ouverture fichier de travail
    vSheetName = "Vide";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);				//selection feuille de travail
     
    vMSExcel.OlePropertySet("Visible", true);										//Rendre excel visible
     
    vSheetName =vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);
    vWorksheet.OleFunction("Copy",vSheetName );

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut griffit
    C'est un peu tardif mais voici un bout de code qui copie la feuille source cree une feuille destination la renomme colle la copie et deselectionne les deux feuilles
    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
     
    {
    vMSExcel = Variant::CreateObject("Excel.Application");
    vFileName = "c:\\Classeur1.xls";
    vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
    vXLWorkbook = vXLWorkbooks.OleFunction("Open", vFileName);
    // on cree un objet vWorksheets
    vWorksheets = vXLWorkbook.OlePropertyGet("Worksheets");
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", "Feuil1");
    vMSExcel.OlePropertySet("Visible", true);
    // on selectionne et copie la feuille source
    vWorksheet.OleProcedure("Select");
    vWorksheet.OlePropertyGet("Cells").OleProcedure("Select");
    vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Copy");
    // on cree une nouvelle feuille on l'active on la renomme
    vWorksheets.OleProcedure("Add");
    vWorksheet = vMSExcel.OlePropertyGet("ActiveSheet");
    vWorksheet.OlePropertySet("Name", "SAUVEGARDE_2");
    // on copie sur la feuille destination
    vWorksheet.OleProcedure("Select");
    vWorksheet.OlePropertyGet("Cells").OleProcedure("Select");
    vMSExcel.OlePropertyGet("ActiveSheet").OleProcedure("Paste");
    // on deselectionne la feuille destination
    vMSExcel.OlePropertySet("CutCopyMode", false);
    vWorksheet.OlePropertyGet("Range", "A1").OleProcedure("Select");
    // on deselectionne la feuille source
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", "Feuil1");
    vWorksheet.OleProcedure("Select");
    vWorksheet.OlePropertyGet("Range", "A1").OleProcedure("Select");
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Automation avec Excel(Copie de feuille)
    Par fredschmidt dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/09/2009, 15h55
  2. [VBA Excel] Copie d'une feuille dans un autre fichier
    Par nattyman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2006, 10h35
  3. [VBA Excel] - Copie Aléatoire de données entre 2 feuilles
    Par ethan64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/07/2006, 17h34
  4. [VBA-E]copie de feuille excel
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2006, 14h20
  5. [VBA][Excel] Copie de feuille a l'identique
    Par le_sonic dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/01/2006, 16h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo