[Résolu][Calc] Masquer des lignes avec des boutons

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 !
remy dupuis
Fraîchement OOthentifié
Messages : 4
Inscription : 18 janv. 2020 20:12

[Résolu][Calc] Masquer des lignes avec des boutons

Message par remy dupuis »

Bonsoir à tous,

Je suis débutant et me lance dans la programmation.

Je commence avec un petit tableur mis en place et cherche à le rendre plus fluide.

Voilà, je souhaite pouvoir masquer ou afficher les lignes 28 à 41 à l'aide des 2 boutons sur la ligne 25
Quand j'enregistre ma macro, je sélectionne toutes mes lignes et valide le truc.
Je sais assigner les boutons à une macro, ça pas de problème.

Mais lorsque j'active ma macro, seule la ligne où se trouve ma souris se masque.

Je dois faire un truc de travers mais quoi ?

Etant débutant, je ne cherche pas forcément une solution toute faite mais aussi à comprendre le fonctionnement pour m'éviter de "consommer" les astuces.

Merci pour vos réponses.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 19 janv. 2020 14:23, modifié 1 fois.
Raison : Balisage
open office 4.1.7
wim 10 famille
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: [Calc] Masquer des lignes avec des boutons

Message par Noonours »

Bonjour et bienvenue sur ce forum,

Dans le fichier exemple que tu joins, il n'y a pas de macro rattachée à tes boutons.
Le masquage des lignes peut se faire sans macro en groupant les lignes 28 à 41: tu les sélectionnes et F12 ( ou dans le menu :"Données -> plan et groupe -> grouper" )
la petite icone "+" ou "-" à gauche de ta page te permet de masquer/afficher les lignes en remplacement de ton bouton.
Si cette solution ne convient pas, n'hésite pas à reformuler ta demande :wink:

cordialement,
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
remy dupuis
Fraîchement OOthentifié
Messages : 4
Inscription : 18 janv. 2020 20:12

Re: [Calc] Masquer des lignes avec des boutons

Message par remy dupuis »

Dans le fichier exemple que tu joins, il n'y a pas de macro rattachée à tes boutons.
ça doit être ça mon erreur car si je sélectionne un case, et clic sur le bouton masquer, je masque la ligne complète.

Pourtant j'ai bien enregistré 2 macro
1 en sélectionnant les lignes 27 à 41 et clic droit puis masquer puis arrêter enregistrement
1 en sélectionnant les lignes 27 et 41 et clic droit puis afficher puis arrêter enregistrement

Je voudrais que ce soit simple à utiliser car le tableau va être diffusé.

Ou dans le pire des cas, puis-je trouver une solution pour masquer ou afficher le groupe à l'aide d'un bouton ?

Merci.
open office 4.1.7
wim 10 famille
remy dupuis
Fraîchement OOthentifié
Messages : 4
Inscription : 18 janv. 2020 20:12

Re: [Calc] Masquer des lignes avec des boutons

Message par remy dupuis »

Voici les macros enregistrées.

End Sub


Code : Tout sélectionner

sub masquer_fg
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())


end sub

sub afficher_fg
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ShowRow", "", 0, Array())


end sub
open office 4.1.7
wim 10 famille
Avatar de l’utilisateur
Loopingss
InconditiOOnnel
InconditiOOnnel
Messages : 783
Inscription : 17 déc. 2008 01:50

Re: [Calc] Masquer des lignes avec des boutons

Message par Loopingss »

Bonsoir Remy
Vous avez essayé de faire votre macro avec l'enregistreur, je présume.
Je vous propose une macro plus simple mais qui fonctionne.
Cette macro définit une zone de cellules. Récupère les lignes de cette zone et agit sur la propriété IsVisible des lignes ainsi déterminées.
COOordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
remy dupuis
Fraîchement OOthentifié
Messages : 4
Inscription : 18 janv. 2020 20:12

Re: [Calc] Masquer des lignes avec des boutons

Message par remy dupuis »

Ah super merci, c'est exactement ce que je souhaitais faire.

Merci beaucoup.

Il me reste plus qu'à comprendre comment elle fonctionne dans la rédaction et le mécanisme.

Bonne journée.

Et encore merci à ceux qui ont pris le temps pour mon message.
open office 4.1.7
wim 10 famille