

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
2 messages in org.openoffice.fr.progRE: [prog] Trouver la dernière cellul...| From | Sent On | Attachments |
|---|---|---|
| superfan | May 28, 2005 11:05 am | |
| Jean...@i-carre.net | May 29, 2005 11:51 pm |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | RE: [prog] Trouver la dernière cellule vide d'une colonne | Actions... |
|---|---|---|
| From: | Jean...@i-carre.net (Jean...@i-carre.net) | |
| Date: | May 29, 2005 11:51:54 pm | |
| List: | org.openoffice.fr.prog | |
Bonjour, à priori il n'y a pas d'équivalent dans Ooo à End(xlUp). La seule fonction qui existe retourne la dernière cellule de la feuille, ce qui n'est pas la même chose. Pour ma part je me suis fait une petite fonction qui me retourne la ligne de la dernière cellule d'une colonne. Cette fonction utilise une autre fonction qui retourne la ligne de la dernière cellule utilisée dans la feuille :
'---------------------------------------------------------------------------
--- ' Retourne le N° de Ligne de la dernière cellule utilisée dans une colonne ' à partir d'une cellule. ' Auteur : Jean-Claude DAVID ' Ex : i = lGetLastLigFromCell ( oXLFeuil1.GetCellRangeByName("A1") ) '---------------------------------------------------------------------------
--- Function lGetLastLigFromCell( oCell As Object) As Long Dim oCurseur As Object 'Curseur d'accès à la dernière cellule de la feuille Dim i As Long 'Ligne courante Dim lDerLig as Long 'Dernière ligne utilisée dans la feuille Dim lFirstLig As Long 'Ligne de départ de la recherche Dim lCol As String 'Colonne de recherche Dim oFeuille As Object 'Feuille utilisée
On Error Goto ErrorHandler
'Feuille utilisée oFeuille = oCell.SpreadSheet 'Dernière ligne utilisée dans la feuille lDerLig = lGetLastLig( oFeuille) 'Ligne de départ de la recherche lFirstLig = oCell.CellAddress.Row 'Colonne de recherche lCol = oCell.CellAddress.Column 'Parcourt de la dernière ligne utilisée dans la feuille, ' jusqu'à la première ligne de la zone passée en paramètre For i = lDerLig To lFirstLig Step - 1 'Dernière Ligne If oFeuille.getCellByPosition ( lCol, i).String <> "" Then lGetLastLigFromCell = i Exit For End If Next i Goto Exit_Here
Exit_False: Exit Function
Exit_Here: Exit Function
ErrorHandler: MsgBox "lGetLastLigFromCell Erreur " & Err & " : " & Error$ & " (Ligne N°" & Erl & ")", sbCritical + sbOkOnly, Titre_Appli On Error Goto 0 Goto Exit_False End Function
'---------------------------------------------------------------------------
----------- ' Retourne le N° de Ligne de la dernière cellule utilisée d'une Feuille ' Auteur Jean-Claude DAVID ' Ex : i = lGetLastLig ( oXLFeuil1) '---------------------------------------------------------------------------
----------- Function lGetLastLig( oFeuille As Object) As Long Dim oCurseur As Object 'Curseur d'accès à la dernière cellule de la feuille
On Error Goto ErrorHandler
oCurseur = oFeuille.createCursor 'Crée un curseur oCurseur.GotoEndOfUsedArea(True) 'Recherche de la dernière cellule utilisée lGetLastLig = oCurseur.getRangeAddress.EndRow 'Dernière Ligne Goto Exit_Here
Exit_False: Exit Function
Exit_Here: Exit Function
ErrorHandler: MsgBox "lGetLastLig Erreur " & Err & " : " & Error$ & " (Ligne N°" & Erl & ")", sbCritical + sbOkOnly, Titre_Appli On Error Goto 0 Goto Exit_False End Function
Bon courage, Jean-Claude
-----Message d'origine----- De : superfan [mailto:supe...@wanadoo.fr] Envoyé : samedi 28 mai 2005 20:06 À : pr...@fr.openoffice.org Objet : [prog] Trouver la dernière cellule vide d'une colonne
Bonjour à tous,
Le problème que j'ai est le suivant :
J'ai deux colonnes (A et B), dans ces colonnes je recopie par macro des données en me positionnant sur la dernière cellule vide de la colonne A. Cette cellule vide n'est pas obligatoirement la cellule active par défaut.
Les données que je suis amené à recopier varient en longueur (d'une ligne à plusieurs sur les 2 colonnes A et B).
L'équivalent chez MS pour le tableur est End(xlUp).
Comment peut on faire dans OpenOffice, j'ai essayé sans trouver.
Merci par avance.







