Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


Bonjour


algol.formations wrote
Dans cette petite macro je positionne le curseur sur la dernière cellule 
non vide à partir de la sélection de la première cellule de la zone 
concernée.
Seulement CurrentSelection, ce qui est normal, se positionne dans la 
colonne la plus à droite lorsqu'il y a des cellules adjacentes non vides.
Existe-t-il une procédure pour faire en sorte que le curseur reste 
toujours dans la colonne concernée par la sélection.

Tu peux t'inspirer du dernier exemple de cette page du wiki:
https://wiki.documentfoundation.org/Macros/Calc/001/fr

Dans cet exemple la plage est sélectionnée. On peut l'adapter pour
sélectionner la cellule suivante (comme tu ne le faisais pas je n'ai
pas ajouté les contrôles préalables sur le contenu de la sélection
courante au lancement) :

option explicit

sub LibOZoneUtiliseeFormule
 
dim oClasseur as Object, oFeuille as Object, oPlage as Object, oSelection as
object
dim oCherche as Object, oResult as Object

oClasseur = thisComponent
oFeuille = oClasseur.CurrentController.ActiveSheet
oSelection = oClasseur.CurrentSelection

with oSelection.cellAddress
        oPlage = oFeuille.getCellRangeByPosition(.column, .row, .column, 10000)
end with

oCherche = oPlage.createSearchDescriptor
 
' Recherche:
' .tout caractère 
' .expression régulière coché
' .dans les valeurs (et non les formules et commentaires)
with oCherche
        .SearchString = "."
        .SearchRegularExpression = true
        .SearchType = 1
end with

oResult = oPlage.findAll(oCherche)

if isnull(oResult) then
        msgbox "rien à sélectionner"
else
' il peut y avoir plusieurs plages de résultats si cellules vides
' dans la colonne : on prend la plus élevée
        with oResult.RangeAddresses(ubound(oResult.RangeAddresses))
                oPlage = oFeuille.getCellByPosition(.EndColumn, .Endrow + 1)
        end with
' On sélectionne la plage concernée
        thiscomponent.currentController.select(oPlage)
end if                                                  
 
end sub







--
View this message in context: 
http://nabble.documentfoundation.org/Objet-CurrentSelection-tp4112398p4112421.html
Sent from the Users mailing list archive at Nabble.com.

-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.