Re: [fr-users] Re: Macro : collage spécial

2012-07-02 Par sujet claude

Bonjour,

Merci pour ton aide, Je me sers très souvent du datarray mais je ne 
connaissais pas le formularray.


J'avoue avoir toujours quelques réticences à me servir du dispatcher car 
jusqu'à présent je n'ai trouvé aucune doc listant l'ensemble des 
fonctions et surtout de leurs paramètres et donc je ne suis jamais sure 
que les paramètres passés seront toujours corrects dans un environnement 
autre que celui de test.


Encore merci

Claude

 Message original 
Sujet : [fr-users] Re: Macro : collage spécial
De : pierre-yves samyn pierre-yves.sa...@laposte.net
Pour : users@fr.libreoffice.org
Date : 29/06/2012 11:52

Bonjour

Il existe plusieurs manières de procéder, selon ce que tu veux ou non
récupérer.

Le dispatcher est une bonne solution, qu'on peut utiliser sans réserve
notamment pour ce qu'il permet en plus : opérations, déplacements, etc.

Par exemple le déplacement 1 permet de déplacer les cellules uniquement
si nécessaire comme illustré dans les copies d'écran jointes.

http://nabble.documentfoundation.org/file/n3992809/Capture-1.png 


On copie A1:A4 qu'on colle spécial par programme avec le déplacement 1
en A12. Le résultat sera :

http://nabble.documentfoundation.org/file/n3992809/Capture-2.png 


On constate que A12:A15 ont été déplacée pour ne pas être écrasées.

Hormis le collage spécial, on peut aussi utiliser l'API. Par exemple
si tu veux ne récupérer que les données tu peux faire :

Sub PysRecupData

dim PysFeuille as object
dim PysSource as object
dim PysDest as object

PysFeuille = thiscomponent.sheets.getByName(Feuille1)
PysSource = PysFeuille.getCellRangeByName(A1:A4)
PysDest = PysFeuille.getCellRangeByName(A10:A13)

PysDest.DataArray = PysSource.DataArray

End Sub

Si tu veux tout récupérer sauf les formats tu peux faire :

Sub PysRecupFormules

dim PysFeuille as object
dim PysSource as object
dim PysDest as object

PysFeuille = thiscomponent.sheets.getByName(Feuille1)
PysSource = PysFeuille.getCellRangeByName(A1:A4)
PysDest = PysFeuille.getCellRangeByName(A10:A13)

PysDest.FormulaArray = PysSource.FormulaArray

End Sub

Le classeur joint reprend ces exemples en détaillant les paramètres
possibles
pour  le collage spécial. Il comprend également une procédure permettant
de travailler sur la sélection courante pour supprimer le = commençant
les formules dans la sélection. Ceci est une autre solution pour tout
garder
sauf la formule...

http://nabble.documentfoundation.org/file/n3992809/collageSp%C3%A9cial.ods
collageSpécial.ods 


Cordialement
Pierre-Yves







--
View this message in context: 
http://nabble.documentfoundation.org/Macro-collage-special-tp3992722p3992809.html
Sent from the Users mailing list archive at Nabble.com.

  




--
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés


[fr-users] Re: Macro : collage spécial

2012-07-02 Par sujet pierre-yves samyn
Bonjour


claude wrote
 
 J'avoue avoir toujours quelques réticences à me servir du dispatcher car 
 jusqu'à présent je n'ai trouvé aucune doc listant l'ensemble des 
 fonctions et surtout de leurs paramètres

Non en effet

Il y a 
http://wiki.services.openoffice.org/wiki/Framework/Article/OpenOffice.org_2.x_Commands
qui date un peu...

Sinon on trouve aussi des choses (mais pas les paramètres) en inspectant 
le fichier xml correspondant. Par exemple pour Windows7, LibO 3.5 et Calc :

C:\Program Files (x86)\LibreOffice
3.5\share\config\soffice.cfg\modules\scalc\menubar\menubar.xml

Cordialement
Pierre-Yves

--
View this message in context: 
http://nabble.documentfoundation.org/Macro-collage-special-tp3992722p3993324.html
Sent from the Users mailing list archive at Nabble.com.

-- 
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés


[fr-users] Re: Macro : collage spécial

2012-06-29 Par sujet pierre-yves samyn
Bonjour

Il existe plusieurs manières de procéder, selon ce que tu veux ou non
récupérer.

Le dispatcher est une bonne solution, qu'on peut utiliser sans réserve
notamment pour ce qu'il permet en plus : opérations, déplacements, etc.

Par exemple le déplacement 1 permet de déplacer les cellules uniquement
si nécessaire comme illustré dans les copies d'écran jointes.

http://nabble.documentfoundation.org/file/n3992809/Capture-1.png 

On copie A1:A4 qu'on colle spécial par programme avec le déplacement 1
en A12. Le résultat sera :

http://nabble.documentfoundation.org/file/n3992809/Capture-2.png 

On constate que A12:A15 ont été déplacée pour ne pas être écrasées.

Hormis le collage spécial, on peut aussi utiliser l'API. Par exemple
si tu veux ne récupérer que les données tu peux faire :

Sub PysRecupData

dim PysFeuille as object
dim PysSource as object
dim PysDest as object

PysFeuille = thiscomponent.sheets.getByName(Feuille1)
PysSource = PysFeuille.getCellRangeByName(A1:A4)
PysDest = PysFeuille.getCellRangeByName(A10:A13)

PysDest.DataArray = PysSource.DataArray

End Sub

Si tu veux tout récupérer sauf les formats tu peux faire :

Sub PysRecupFormules

dim PysFeuille as object
dim PysSource as object
dim PysDest as object

PysFeuille = thiscomponent.sheets.getByName(Feuille1)
PysSource = PysFeuille.getCellRangeByName(A1:A4)
PysDest = PysFeuille.getCellRangeByName(A10:A13)

PysDest.FormulaArray = PysSource.FormulaArray

End Sub

Le classeur joint reprend ces exemples en détaillant les paramètres
possibles
pour  le collage spécial. Il comprend également une procédure permettant
de travailler sur la sélection courante pour supprimer le = commençant
les formules dans la sélection. Ceci est une autre solution pour tout
garder
sauf la formule...

http://nabble.documentfoundation.org/file/n3992809/collageSp%C3%A9cial.ods
collageSpécial.ods 

Cordialement
Pierre-Yves







--
View this message in context: 
http://nabble.documentfoundation.org/Macro-collage-special-tp3992722p3992809.html
Sent from the Users mailing list archive at Nabble.com.

-- 
Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés