Bonjour à tous,
J'ai la routine suivante :
' --------------------------------------------------------
' Routine permettant de copier une plage de cellules de feuille de
calcul vers une autre
' DSI
'
Sub CopyRangeDemo()
Dim oDocument As Object
Dim Spreadsheet As Object
Set oDocument = ThisComponent
Set Spreadsheet = oDocument.Sheets.getByIndex(0)
REM adresse source (UNO struct)
Dim mRangeAddress_src as New com.sun.star.table.CellRangeAddress
REM adresse cible (UNO struct)
Dim mCellAddress_dest as New com.sun.star.table.CellAddress
REM 3e feuille "Paiement", D1:D450
With mRangeAddress_src
.Sheet=3
.StartColumn = 2
.StartRow = 1
.EndColumn = 2
.EndRow = 450
End With
REM 2eme feuille "Edition", C3
With mCellAddress_dest
.Sheet = 2
.Column = 2
.Row = 1
End With
Spreadsheet.copyRange(mCellAddress_dest, mRangeAddress_src)
End Sub
Le contenu de la plage de cellule de la feuille "Paiement" est le
résultat de la formule suivante
=SI(RECHERCHEV(A49;$DSI.$A$2:$D$354;1)=A49;RECHERCHEV(A49;$DSI.$A$2:$D$354;3))
Le but est de récupérer la valeur de la formule ci dessus (équivalent à
un copier collage spéciale et décocher "formule")
Le résultat du copier coller est =SI(RECHERCHEV(#REF
!49;$DSI.$A$2:$D$354;1)=#REF !49;RECHERCHEV(#REF
!49;$DSI.$A$2:$D$354;3)) donc #REF !dans la cellule :-(
Un grand merci pour vos lumières
Christophe
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]