jac...@free.fr a écrit :
Bonjour,
J'ai trouvé (je ne sais plus où ...) une macro intéressante pour copier une
plage de cellules, ci-après :
( ... )
Or j'aimerais coller uniquement les VALEURS et non le format (comme sous excel
en fait ...), existe-t-il une fonction du type de celle-ci ? (je précise que je
voudrais lancer cette macro en boucle, pour plusieurs plages de cellules)
Cette macro montre deux manières de faire, la première en commentaires.
Sub CopierValeurs
Dim lesFeuilles As Object, zone_src As Object, zone_dest As Object
lesFeuilles = thisComponent.Sheets
'zone_src = lesFeuilles(1).getCellRangeByName("C3:D4")
'zone_dest = lesFeuilles(0).getCellRangeByName("C3:D4")
zone_src = lesFeuilles(1).getCellRangeByPosition(2,2,3,3)
zone_dest = lesFeuilles(0).getCellRangeByPosition(2,2,3,3)
zone_dest.DataArray = zone_src.DataArray
End Sub
Ceci marche aussi bien pour des valeurs numériques que texte. Si une
cellule source contient une formule, la valeur résultante est recopiée.
Inspiré de : Programmation OpenOffice.org pages 285 et 317-318.
Bonne journée
Bernard