[Résolu] [Writer] Affichage section selon bouton radio

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 !
Mateo
Fraîchement OOthentifié
Messages : 6
Inscription : 16 févr. 2019 13:48

[Résolu] [Writer] Affichage section selon bouton radio

Message par Mateo »

Bonjour,

Je sollicite votre aide car j’aimerais afficher sur writer des sections en fonction des boutons radio à cocher. J’ai essayé quelques manipulations en m’inspirant notamment du message suivant :

https://forum.openoffice.org/fr/forum/v ... =8&t=52620

mais je dois avouer que je suis un peu perdu. Je n’ai pas de connaissance en macros mais j’espère que vous pourrez m’aider.

Afin d’être plus concret, vous trouverez ci-dessous le fichier « test » sur lequel je m’exerce.
J’aimerais faire ceci :
Test.odt
- Uniquement la section 1 (AAA) apparaît si le bouton radio 1 cocher
- Uniquement la section 2 (BBB) apparaît si le bouton radio 2 cocher
- ….

et en même temps

- Uniquement la section 6 (FFF) apparaît si le bouton radio A cocher
- Uniquement la section 7 (GGG) apparaît si le bouton radio B cocher
-...

Cela donnerait: je dois cocher les boutons 1 et A pour voir apparaître les sections 1 (AAA) et 6 (FFF)

Merci d'avance pour votre aide.

Cordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 17 févr. 2019 13:45, modifié 1 fois.
Raison : Balisage
LibreOffice 5.2.5.1 (x64) sous windows 10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Writer] Affichage section selon bouton radio

Message par Piaf »

Bonjour et bienvenue sur le Forum
À tester

Code : Tout sélectionner

Option Explicit
Sub Main(oEv as Object)
Dim CurseurVisible as Object
Dim Sections as Variant, i as Integer
	CurseurVisible = thisComponent.CurrentController.ViewCursor
Select Case oEv.Source.Model.Name
	Case "Br1"
		Sections = Array("AAA","BBB","CCC","DDD","EEE")
		CurseurVisible.jumpToPage(1)		
	Case "Br2"
		Sections = Array("FFF","GGG","HHH","III","JJJ")
		CurseurVisible.jumpToPage(2)
	End Select	
	For i = 0 To UBound(Sections)
		If Sections(i) = oEv.Source.Model.Tag Then
			thisComponent.TextSections.getByName(Sections(i)).IsVisible = True
		Else
			thisComponent.TextSections.getByName(Sections(i)).IsVisible = False
		End If
	Next i
	thisComponent.CurrentController.Frame.ContainerWindow.setFocus
	thisComponent.Store(True)
End Sub
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Mateo
Fraîchement OOthentifié
Messages : 6
Inscription : 16 févr. 2019 13:48

Re: [Writer] Affichage section selon bouton radio

Message par Mateo »

Super, Merci énormément PIAF.
C'est exactement cela.

Par contre, que dois-ajouter au code si je souhaite ajouter une troisième partie ? (et ensuite une 4éme, 5éme,...)

J'ai fait un test en ajoutant 4 boutons radio que j'ai nommé Br3 et 4 sections que j'ai nommé LLL, MMM, NNN et OOO

J'ai essayé cela:

Code : Tout sélectionner

Option Explicit
Sub Main(oEv as Object)
Dim CurseurVisible as Object
Dim Sections as Variant, i as Integer
   CurseurVisible = thisComponent.CurrentController.ViewCursor
Select Case oEv.Source.Model.Name
   Case "Br1"
      Sections = Array("AAA","BBB","CCC","DDD","EEE")
      CurseurVisible.jumpToPage(1)      
   Case "Br2"
      Sections = Array("FFF","GGG","HHH","III","JJJ")
      CurseurVisible.jumpToPage(2)
   Case "Br3"
      Sections = Array("LLL","MMM","NNN","OOO")
      CurseurVisible.jumpToPage(2)
   End Select   
   For i = 0 To UBound(Sections)
      If Sections(i) = oEv.Source.Model.Tag Then
         thisComponent.TextSections.getByName(Sections(i)).IsVisible = True
      Else
         thisComponent.TextSections.getByName(Sections(i)).IsVisible = False
      End If
   Next i
   thisComponent.CurrentController.Frame.ContainerWindow.setFocus
   thisComponent.Store(True)
End Sub
Mais rien ne se passe.

Merci encore pour ta réponse.

A+
LibreOffice 5.2.5.1 (x64) sous windows 10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Writer] Affichage section selon bouton radio

Message par Piaf »

Bonjour
As tu affecté la macro à chaque bouton radio ?
La propriété Complément d'information de chaque bouton est-elle renseignée avec le nom de la section correspondante ?
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Mateo
Fraîchement OOthentifié
Messages : 6
Inscription : 16 févr. 2019 13:48

Re: [Writer] Affichage section selon bouton radio

Message par Mateo »

Yes, ça fonctionne nickel!
Merci sincèrement Piaf pour ton aide :bravo:

Bonne continuation.

A+
LibreOffice 5.2.5.1 (x64) sous windows 10