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 :

Coller une ligne Excel vers un StringGrid ou autre


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Par défaut Coller une ligne Excel vers un StringGrid ou autre
    Bonjour à tous,

    Voici ma question :

    Est-il possible de coller une ligne Excel dans un StringGrid ou DBGrid et puis dans un autre classeur Excel (un post est dèjà existant à ce sujet) de tel sorte que les cellules se "recale" correctement.



    Peut on faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    vLigne_utile = vWorksheet.OlePropertyGet("Range", "A1").OlePropertyGet("EntireRow").OleFunction("Select");
    vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Copy"); //copie la ligne voulue
     
    //se place sur la feuille "Feuil2" qui va contenir les infos
     
    vSheetName = "Feuil2";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);
    vWorksheet = vMSExcel.OlePropertyGet("ActiveSheet");
     
     
    vWorksheet.OlePropertyGet("Range", "B3").OlePropertyGet("EntireRow").OleFunction("Select");
    vMSExcel.OlePropertyGet("ActiveSheet").OleProcedure("Paste");
    Ce code, un peu similaire à ce que je veux, colle la ligne sur la Feuil2 du même classeur d'où je copie la ligne. Le problème est que le programme me colle cette ligne à toute les lignes de la Feuil2 alors que je veux uniquement sur la ligne 1.

    Lorsque je force sur la ligne 1 pour éviter qu'il copie de partout, il reste sur la feuil1 et copie sur la ligne 1 (uniquement c'est dèjà ça) mais bon.


    Voili voilou encore un ptit problème du à mon inculture du pilotage OLE...

    Merci d'avance

  2. #2
    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 Kok1k1du
    Un lien sur la FAQ pour copier coller dans un autre classeur, ca peut se modifier facilement
    Pour ton post precedent je n'ai toujours pas trouve de solution

  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
    Cela devrait donner quelque chose comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    vLigne_utile = vWorksheet.OlePropertyGet("Range", "A1").OlePropertyGet("EntireRow").OleFunction("Select");
    vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Copy"); //copie la ligne voulue
    //se place sur la feuille "Feuil2" qui va contenir les infos
    vSheetName = "Feuil2";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);
    vWorksheet.OleProcedure("Select");
    vMSExcel.OlePropertyGet("ActiveSheet").OleProcedure("Paste");
    vWorksheet.OlePropertyGet("Range", "A3").OleProcedure("Select");
    vSheetName = "Feuil1";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",vSheetName);
    vWorksheet.OleProcedure("Select");
    vWorksheet.OlePropertyGet("Range", "A3").OleProcedure("Select");
    vMSExcel.OlePropertySet("CutCopyMode", false);

  4. #4
    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
    Pour copier ta selection dans un TMemo ou un TRichEdit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    vLigne_utile = vWorksheet.OlePropertyGet("Range", "A1").OlePropertyGet("EntireRow").OleFunction("Select");
    vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Copy"); //copie la ligne voulue
    Memo1->PasteFromClipboard();
    // ou
    RichEdit1->PasteFromClipboard();
    vWorksheet.OlePropertyGet("Range", "A3").OleProcedure("Select");
    vMSExcel.OlePropertySet("CutCopyMode", false);

Discussions similaires

  1. [XL-2007] Excel 2007 Copier Coller une ligne vers une autre feuille
    Par fcjunic dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/02/2013, 21h54
  2. [XL-2007] exporter les une ligne excel vers un autre classeur excel en vba
    Par Maxim0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/06/2011, 21h55
  3. [XL-2007] Copier coller une ligne excel sur autre feuille avec conditions
    Par amstelveen dans le forum Excel
    Réponses: 5
    Dernier message: 11/05/2009, 18h54
  4. coller une sélection d'une feuille excel vers une table access
    Par docjo dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/01/2008, 17h50
  5. Comment transférer une ligne d'une feuille Excel vers une autre
    Par iboulaye1980 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/05/2007, 10h32

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