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 à [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