Merci à tous mais l'automatisation que je veux exécuter en LoBasic est
l'équivalent d'une macro enregistrée :
1. je me positionne dans la première cellule x de la zone x à y
2. j'effectue un ctrl + pointeur bas
3. qui me positionne sur la cellule suivante (première cellule
vide de la zone x à y)
Bien évidemment (c'est là la demande) la référence de la première
cellule de la zone considérée doit être variable.
Cordialement
Ci-joint le classeur complet
http://cjoint.com/?DFppQrQEfRN
Michel B.
Le 15/06/2014 08:32, pierre-yves samyn a écrit :
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.
--
ALGOL - Formation - Coaching Bureautique
/5 rue de Vélantan/
*37130* Mazières de Touraine
http://www.inforbur.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.