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 à [email protected] 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

Répondre à