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.samyn@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+help@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
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.