Le 2005-03-07 15:23, Arnaud GUERIN a écrit :
J'ai un souci de copie d'une zone de cellules d'une feuille n°1 vers une destination sur une feuille n°2.
Sur un fichier de test, y'a pas de problème, par contre dans le cadre du programme que je développe, il y a un beau message d'erreur, au niveau de la ligne oClendrier.CopyRange, qui est:
Runtime error BASIC.
Exception
Type: com.sun.star.lang.IllegalArgumentException
Message: cannot coerce argument type during coereflection call!.
( ... )
oCalendrier.CopyRange(unoPlageSource, unoAdresseDest)



Erreur d'utilisation : tu as inversé les paramètres. oCalendrier.CopyRange(unoAdresseDest, unoPlageSource)

En m'inspirant de la macro page 319 du livre Programmation OpenOffice.org je peux coder plus simplement ta routine :

Sub CopieCalendrier (sCal As String, lX As Long, lY As Long)
Dim unoPlageSource As Object, unoAdresseDest As Object

unoPlageSource = oFeuilles.getByName(sSource).getCellRangeByName("A7:AD27")
oCalendrier = oFeuilles.getByName(sCal)
unoAdresseDest = oCalendrier.getCellRangeByPosition(1X, 1Y, 1X, 1Y)

oCalendrier.CopyRange(unoAdresseDest.CellAddress, unoPlageSource.RangeAddress)
End Sub


__________
   Bernard


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Répondre à