Bonjour Michel,

Le 06/07/2018 à 18:19, Michel Rudelle a écrit :

Je traite par macro de gros fichiers CSV. Après leur ouverture, j'ai besoin
de connaître l'étendue des données (nombre max de colonnes et lignes). Je
n'ai  pas trouvé de propriété de la feuille qui me donne cette info, aussi
j'utilise jusqu'à présent une procédure nommée selecTout (élaborée avec
l'enregistreur de macro) qui utilise le dispatcher et qui renvoie la zone de
la cellule A1 à la dernière cellule du fichier. Ça marche bien et c'est
rapide, et ça dure depuis 2011.

bref, tu veux l'équivalent d'un Ctrl + * ?

J'utilise cette macro pour connaître la position de la dernière cellule en bas à droite d'une feuille :

8< ------------------------------------------------------------

Function LastUsedCell(ByRef pSheet As Object) As Object
'Returns the last cell used in a given sheet (lower-right corner).
'Input:
'-- pSheet: the sheet object to explore.
'Output: the last used cell object in the sheet.

        Dim l_Origin As String          'origin cell address
        Dim lo_UsedRange As Object
        Dim lo_CellCur As Object        'a cell cursor
        
        'create a cursor on the used range
        l_Origin = "A1"
lo_CellCur = pSheet.createCursorByRange(pSheet.getCellRangeByName(l_Origin))
        lo_CellCur.gotoEndOfUsedArea(False)
        'get the used range
        lo_UsedRange = pSheet.getCellRangeByName(lo_CellCur.AbsoluteName)

        LastUsedCell = lo_UsedRange
End Function 'LastUsedCell

------------------------------------------------------------ >8

En espérant que ça t'aidera.


Très cordialement,
--
Jean-Francois Nifenecker, Bordeaux


--
Envoyez un mail à qa+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/qa/
Privacy Policy: https://www.documentfoundation.org/privacy

Répondre à