[Résolu] [Calc] Masquer lignes en fonction d'une valeur

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 !
Adri29
Membre OOrganisé
Membre OOrganisé
Messages : 77
Inscription : 27 nov. 2018 15:42

[Résolu] [Calc] Masquer lignes en fonction d'une valeur

Message par Adri29 »


La modération vous a écrit: On vous a déjà fait cette remarque. Il semble que vous n'ayez pas assimilé la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). Veuillez corriger.

Bonjour tout le monde :D
Pour information, ce fil je l'avais déjà fait dans le forum tableur https://forum.openoffice.org/fr/forum/v ... =4&t=60190 il y a 1 mois. La deuxième solution proposée par Jean-Louis Cadeillan fonctionnait mais ergonomiquement elle posait problème.
Avant toute chose je vais vous expliquer ce que j'aimerais faire:
Dans le fichier j'ai une liste déroulante allant de 1 à 50, si par exemple l'utilisateur choisit 6 alors le fichier affichera les lignes de 3 à 8 et masquera les lignes de 9 à 52.
La solution de Jean-Louis Cadeillan comme vous pouvez le voir sur le fil que j'ai envoyé n'étais pas de masquer les lignes mais de masquer les valeurs. A première vue le résultat est le même mais dans mon tableur original, il y a donc un "trou" assez énorme.
Le masquage de lignes (enfin même les macros) est un domaine que je maîtrise assez mal (ce week end je me suis entraîné via quelques sites qui expliquent les bases des macros), donc si en plus de m'aider vous m'expliquer comment vous avez faits, ça serait vraiment génial :D

Cordialement.
Adrien.
Pièces jointes
test_forum_8.ods
(14 Kio) Téléchargé 118 fois
Dernière modification par Adri29 le 24 avr. 2019 08:57, modifié 2 fois.
LibreOffice Version: 6.1.5.2 sous window 10.1
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12196
Inscription : 08 nov. 2005 17:23
Localisation : Caen, France
Contact :

Re: [CALC] Masquer lignes en fonction d'une valeur choisie

Message par Bidouille »

Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets).

Si cela n'est pas fait à votre prochaine visite, le fil sera verrouillé.
Adri29
Membre OOrganisé
Membre OOrganisé
Messages : 77
Inscription : 27 nov. 2018 15:42

Re: [Calc] Masquer lignes en fonction d'une valeur choisie

Message par Adri29 »

je viens de mettre en minuscule la balise :super:
LibreOffice Version: 6.1.5.2 sous window 10.1
Avatar de l’utilisateur
DLE
SuppOOrter
SuppOOrter
Messages : 1477
Inscription : 30 déc. 2007 19:56
Localisation : Lille

Re: [Calc] Masquer lignes en fonction d'une valeur choisie

Message par DLE »

Bonjour,

Une proposition de solution avec l'utilisation de 2 boutons, un pour masquer la sélection, l'autre pour afficher l'ensemble des lignes.
Les boutons sont affectés à une seule macro "Maint". Pour différencier le traitement, dans les propriétés du deuxième bouton, onglet "Général", le paramètre "Complément d'information" est valorisé à "Tout".
A+
Pièces jointes
Adri29_test_forum_8.ods
Masquer des lignes d'un tableau.
(13.77 Kio) Téléchargé 145 fois
MacOS Sonoma 14.4.1 (iMac-Intel) : AOO 4.1.15 , LibreOffice 7.6.5.2, Adoptium-temurinJDK_1.8.0_402 -
Windows 10 64 bits :
AOO 4.1.15, Libreoffice 7.1.8.1 - FireFox, Thunderbird, ORB 1.2.1
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: [Calc] Masquer lignes en fonction d'une valeur choisie

Message par OOotremer971 »

Bonjour,

Une variante sans bouton, connectée à l'événement de feuille Contenu modifié :

Code : Tout sélectionner

Sub Main(oEvt)
Select Case oEvt.AbsoluteName
	Case "$Feuille1.$D$2"
		For i = 51 To 2 step - 1
			if i > 1 + oEvt.Value Then
				oEvt.Spreadsheet.Rows(i).IsVisible = False
			else
				oEvt.Spreadsheet.Rows(i).IsVisible = True
			end if
		next
end Select
End Sub
Si dans le vrai fichier la feuille ou la liste déroulante porte un autre nom, il faudra modifier cette ligne en conséquence :

Code : Tout sélectionner

Case "$Feuille1.$D$2"
et le fichier pour tester :

A+
Pièces jointes
test_forum_8_Mod1.ods
(13.63 Kio) Téléchargé 198 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Adri29
Membre OOrganisé
Membre OOrganisé
Messages : 77
Inscription : 27 nov. 2018 15:42

Re: [Calc] Masquer lignes en fonction d'une valeur choisie

Message par Adri29 »

DLE a écrit :Bonjour,

Une proposition de solution avec l'utilisation de 2 boutons, un pour masquer la sélection, l'autre pour afficher l'ensemble des lignes.
Les boutons sont affectés à une seule macro "Maint". Pour différencier le traitement, dans les propriétés du deuxième bouton, onglet "Général", le paramètre "Complément d'information" est valorisé à "Tout".
A+
Premièrement merci pour votre aide :D
J'avais vue en cherchant sur le forum un exemple légèrement similaire avec ces 2 boutons, ce qui me dérange est que je ne serais pas l'utilisateur et donc je ne pense pas que cette solution sera simple pour tout le monde.
(pour tout vous dire j'avais même essayé de la réaliser mais je n'y étais pas arrivé :lol: )
Bonjour,

Une variante sans bouton, connectée à l'événement de feuille Contenu modifié :
C'est exactement ça que je voulais, et le code à l'air assez simple en plus c'est génial! merci beaucoup :D
LibreOffice Version: 6.1.5.2 sous window 10.1
Verrouillé