Je ne suis pas sûr que le sujet soit libellé bien précisément; d'avance, pardon.
Ce que je cherche à faire : Alimenter une ListBox présente sur un Dialogue en allant chercher les informations nécessaires sur une feuille Calc.
Précision : les éléments présents sur cette feuille "Test" ne sont pas figés : l'utilisateur peut être amené à en rajouter, en enlever, etc
Ce qui se passe : lorsque je lance la macro, j'ai le message d'erreur qui intervient lors de l'alimentation de la ListBox :Valeur ou type de données incorrect(e).
Index hors de la plage définie.
Faisant référence à des données "sûres", j = 0 to Ind_DerLigneTest, je ne comprends pas pas pourquoi je bascule hors de la plage définie ExoData(Ind_DerLigneTest)
Cordialement,
Code : Tout sélectionner
Sub LancerListB
Dim bibli as object
Dim DialTest as object
Dim oCursor as Object
Dim FeuilleTest as object
Dim Ind_DerLigneTest as long
'Charge la librairie + boite de dialogue
DialogLibraries.LoadLibrary("Standard")
bibli = DialogLibraries.GetByName("Standard")
DialTest = bibli.GetByName("Dialog1")
DialTest = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
FeuilleTest = ThisComponent.Sheets.GetByName("Test")
Dim j as long
Dim ExoData(Ind_DerLigneTest) as string
oCursor = FeuilleTest.createCursor
oCursor.gotoEndOfUsedArea(False)
Ind_DerLigneTest = oCursor.RangeAddress.EndRow + 1
'supprime entrées initiale listbox
DialTest.getControl("ListBox1").RemoveItems(0,DialTest.getControl("ListBox1").ItemCount)
'Alimente Listbox
for j = 0 to Ind_DerLigneTest
ExoData(j) = FeuilleTest.getCellByPosition(0, j+1).formula
next j
DialTest.getControl("ListBox1").addItems(ExoData(), 0)
End sub