[fr-users] Re: Macro : collage spécial
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
Re: [fr-users] Re: Macro : collage spécial
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 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
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