[Résolu][Calc] Atteindre une cellule

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
pphilippe
Membre hOOnoraire
Membre hOOnoraire
Messages : 166
Inscription : 18 oct. 2018 15:01

[Résolu][Calc] Atteindre une cellule

Message par pphilippe »

Bonjour
Je travaille sur un fichier qui deviendra un tableau de bord et je ne suis pas très calé en macro.
Normalement à l'ouverture, l'utilisateur devrait arriver sur une page d'accueil (c'est pas encore au point mais c'est l'idée)
Je cherche une macro simple qui me permettrai en cliquant sur un bouton (SAISIE) de trouver la première cellule vide dans une liste (onglet saisie) et de la rendre active.
Je vous remercie
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par pphilippe le 25 févr. 2026 12:03, modifié 2 fois.
Libre Office Version : 26.2.2.2
Ubuntu : 24.04.3 LTS
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1902
Inscription : 15 déc. 2010 08:33

Re: [Calc] Atteindre une cellule

Message par yclik »

Bonjour
une proposition

Code : Tout sélectionner

sub Saisie

Dim oDoc As Object
Dim oSheets as object
Dim oSheet As Object
Dim oCell as Object

oDoc = thisComponent
oSheet = oDoc.Sheets.getByName("saisie")
maZone = oSheet.getCellRangeByName("A1:A1000")
zoneVide = maZone.queryEmptyCells.RangeAddresses
'Je trouve la dernière ligne utilisée
derLigne = zoneVide(0).StartRow
'J'ajoute 1 pour obtenir la ligne vide
 derLigne =  derLigne + 1
'print derLigne
'Affiche la feuille
oDoc.CurrentController.ActiveSheet = oSheet
'adresse dernière ligne
oCell = oSheet.getCellRangeByName("A"+derLigne)
'sélectione la cellule de la dernière ligne col A
oDoc.CurrentController.select(oCell)
end sub

et en bonus
une macro qui permet d'afficher la feuille saisie dès l'ouverture du classeur

Code : Tout sélectionner

sub menu
Dim oDoc As Object
Dim oSheets as object
Dim oSheet As Object
oDoc = thisComponent
oSheet = oDoc.Sheets.getByName("accueil")
oDoc.CurrentController.ActiveSheet = oSheet
End Sub
pour ouvrir sur la page accueil
Outils > personnaliser >onglets événements
Sélectionner « ouvrir un document » et assigner macro menu
saisie_cible.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
pphilippe
Membre hOOnoraire
Membre hOOnoraire
Messages : 166
Inscription : 18 oct. 2018 15:01

Re: [Calc] Atteindre une cellule

Message par pphilippe »

Bonsoir
Merci à Beetle pour sa compréhension et à yclick pour sa compétence.

Question subsidiaire, si le fichier est ouvert sous excel (ça peut arriver) il ne va pas planter ?
Merci
Libre Office Version : 26.2.2.2
Ubuntu : 24.04.3 LTS
Avatar de l’utilisateur
tintin
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10195
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise

Re: [Calc] Atteindre une cellule

Message par tintin »

Bonjour,
pphilippe a écrit : 24 févr. 2026 20:15si le fichier est ouvert sous excel (ça peut arriver) il ne va pas planter ?
C'est la question qui tue

Comment clore un sujet lorsqu'il est résolu
AOO 4.1.16 et LibO 25.8.6 / macOS M4 Silicon 26.5 Tahoe
Adoptium-temurinJDK-1.8.0.492 / Firefox/Safari/Thunderbird /Time Machine + Clone CCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
pphilippe
Membre hOOnoraire
Membre hOOnoraire
Messages : 166
Inscription : 18 oct. 2018 15:01

Re: [Calc] Atteindre une cellule

Message par pphilippe »

Merci pour la question qui tue !
pphilippe
Libre Office Version : 26.2.2.2
Ubuntu : 24.04.3 LTS