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