Macros CALC - nommer une plage de données

Bonjour,

Au travail nous venons de passer de la version 7.1 à la version 25.2. J’utilise une macro dans laquelle, entre autres je nomme des plages de cellule. cela ne marche plus et je n’arrive pas à corriger la macro pour qu’elle refonctionne. Qwant et le chat ne sont mes amis sur ce coup.

Voila le code qui fonctionnait avant :

plage=feuille.getcellrangebyposition(numcolonne,1,numcolonne,nbligne-1)
        nomplage="plage"&numcolonne
        CellAddress.sheet=0
        CellAddress.column=numcolonne
        CellAddress.Row=1
        plages.addNewByName(nomplage, plage,CellAddress,0)

Elle ne fonctionne plus, la raison semble être le fait que CellAddress n’est plus valable depuis la version 7.2 de libreoffice. Apparemment, il faut utiliser getCellByPosition à la place.

Et c’est là que coince, je n’arrive pas à trouver la bonne synthaxe pour plages.addNewByName.

Si quelqu’un a une idée et sait comment résoudre mon problème, merci

quelle est l’erreur ?

comment est-elle définie ?

Instruction Option Explicit

La macro est incomplète : où est définie la variable plages ?

Sub NomearArea()
    Dim oDoc As Object
    Dim oPlanilha As Object
    Dim oIntervalos As Object
    Dim oArea As Object

    oDoc = ThisComponent
    oPlanilha = oDoc.Sheets.getByName("Planilha1")

' Plage à nommer (ex. : A1:C10)
    oArea = oPlanilha.getCellRangeByName("A21:C30")

' Collection de plages nommées
    oIntervalos = oDoc.NamedRanges

' Crée le nom de la plage
    oIntervalos.addNewByName("NameArea",oArea _
    .AbsoluteName,oArea.getCellByPosition(0,0).CellAddress,0)
End Sub
1 Like

Merci, ca a marché