Bonjour
Je soumet à votre sagacité ce petit souci de Basic
Je ne dois pas bien comprendre la gestion des tableaux à plusieurs dimensions
Libre Office 7.1.8.1 sous Windows 11
Pourquoi cette syntaxe ne fonctionne pas ?
Dim tData() as variant
Dim tLigne() as variant
Dim tListe() as variant
Dim tNew(19)
…
tData = oPlage.getDataArray()
…
redim preserve tListe(p)
For noLigne = 1 to p
tLigne = tData(noLigne)
tNew(0) = tLigne (0) 'auteurs
tNew(1) = tLigne (1) 'tri auteur
…
tNew(17) = tLigne (17) 'uuid
tNew(18) = tLigne (4) 'isbn
tNew(19) = tLigne (5) 'identifiants
tListe(noLigne) = tNew
next noLigne
le tableau tListe contient bien p lignes mais c’est la dernière ligne de tData qui est est dupliquée p fois
alors que celle_ci fonctionne
Dim tData() as variant
Dim tLigne() as variant
Dim tListe(2500, 19) as variant
tData = oPlage.getDataArray()
…
redim preserve tListe(p, 19)
For noLigne = 1 to p
tLigne = tData(noLigne)
tListe(noLigne, 0) = tLigne (0) 'auteurs
tListe(noLigne, 1) = tLigne (1) 'tri auteur
…
tListe(noLigne, 17) = tLigne (17) 'uuid
tListe(noLigne, 18) = tLigne (4) 'isbn
tListe(noLigne, 19) = tLigne (5) 'identifiants
next noLigne
Là, j’ai bien mon tableau tData, avec les colonnes interverties
Avec tous remerciements
Bonne année, bonne santé à tous