[Résolu][Writer] Afficher réponse selon commande OUI/NON

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 !
eylone
Fraîchement OOthentifié
Messages : 9
Inscription : 11 mai 2016 16:38

[Résolu][Writer] Afficher réponse selon commande OUI/NON

Message par eylone »

Bonjour

une personne du forum m'a gentimment fait cette macro (ce sujet) mais j'y connais pas grand chose
et j'en aurait vraiment besoin pour mon association qui gère les enfants invalides

en gros sur cette macro j aimerai que se soit le non qui affiche un texte et le oui n'affiche rien

donc ma question : quelqu'un peut il m'expliquer comment modifier cette macro pour inverser et surtout comment reproduire la macro sur plusieurs ligne

je vous remercie beaucoup d'avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 15 mai 2016 12:05, modifié 1 fois.
Raison : [Résolu] et la coche
je suis sur mac os yosemite et j ai open office 3.4.1
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 10071
Inscription : 28 août 2010 08:45

Re: modification de macro

Message par micmac »

Bonjour,

Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?

Lisez ce fil pour savoir quelle balise utiliser : https://forum.openoffice.org/fr/forum/s ... html#27295

N'oubliez pas que le terme "Macro" ou "OpenOffice" ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même sous peine de voir votre sujet verrouillé.


Le titre de votre question n'est pas assez explicite ou ne reflète pas le problème que vous décrivez :
<modification de macro>
Nous l'avons donc modifié. En effet, lors d'une recherche, ce sujet risquait de passer inaperçu et donc de ne pas aider d'autres personnes ayant le même problème que vous. Des termes implicites comme macro, aide, problème ou OpenOffice n'ont pas besoin d'être mentionnés.

Voici quelques astuces pour avoir un titre optimum : https://forum.openoffice.org/fr/forum/v ... 1002#p1002

La prochaine fois, pensez à bien choisir les termes du titre de votre question. N'oubliez pas qu'un titre clair et précis augmente vos chances d'obtenir des réponses plus rapidement.

Merci de votre collaboration
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par Piaf »

Bonjour
Les boutons radio Oui ou Non d'une même question ont le même nom.
A chaque groupe de boutons correspond une section.

Code : Tout sélectionner

Select Case oEv.Source.Model.Name
récupère le nom du bouton sur lequel on clique.
selon le nom, on défini la section correspondante

Code : Tout sélectionner

Case "br1"
	maSection = lesSections.getByName("Fable")
On récupère l'étiquette (le texte affiché) du bouton qui change de statut.
Si l'étiquette est Oui, on affiche la section, si c'est Non on la masque.

Code : Tout sélectionner

If oEv.Source.Model.Label = "Oui" Then
	oForm.getByName("CorRen").ImageURL = ConvertToURL(Chemin & "le corbeau et le renard.jpg")
	maSection.IsVisible = True
Else
	maSection.IsVisible = False
End If
Pour inverser l'affichage, il suffit de mettre Non à la place du Oui > oEv.Source.Model.Label = "Non" Then
Tu gardes le même principe pour chaque question que tu ajoutes.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
eylone
Fraîchement OOthentifié
Messages : 9
Inscription : 11 mai 2016 16:38

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par eylone »

Genial merci a vous j arrive a modifier ma macro comme je voulais vous etes au top

Derniere petite question

Si j ajoute une nouvelle question comme lui appliquer la macro
J ai bien compris que les deux premieres sont nommes case "br2" mais comment creer une case br3 par exemple
je suis sur mac os yosemite et j ai open office 3.4.1
Avatar de l’utilisateur
ThierryT
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 467
Inscription : 10 nov. 2012 17:05

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par ThierryT »

Bonjour,

Voir une explication dans le fichier joint.
LibreOffice 6.1.3.2 x64 / AOO 4.1.5 (x86) sous Windows 8.1 (x64)
Java 8.x (x64 et x86), Firefox, Thunderbird,....

“Celui qui aime à apprendre est bien près du savoir.” (Confusius)
Comment baliser Résolu
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par Piaf »

Re
Pour la fable, le nom des boutons est br1 (bouton radio question 1 original non ? :lol: )
Pour AOO br2.
en suivant le principe, pour la question suivante, tu sélectionnes deux boutons radio
BR.png
que tu nommes br3.
br3.png
Tu tapes le texte voulu, tu créé la section, tu ajoutes les lignes de code dans la macro

Code : Tout sélectionner

Case "br3"
	maSection = lesSections.getByName("Trois")
	If oEv.Source.Model.Label = "Non" Then
		maSection.IsVisible = True
	Else
		maSection.IsVisible = False
	End If
Dans l'onglet Evènements des propriétés de chaque bouton tu affectes la macro à l’événement Statut modifié.
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
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
Messages : 957
Inscription : 27 nov. 2010 00:17
Localisation : gâtine deux-sèvrienne

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par luky-luke »

Bonjour
On peut aussi utilisé une case à cocher :
Case à cocher.png
CaseDécochée.png

Code : Tout sélectionner

Sub Afficher(oEv as Object)
Dim oDoc as Object, lesSections as Object, oForm as Object
	oDoc = thisComponent
	Chemin = getDirectory(oDoc.URL)
	oForm = oDoc.DrawPage.Forms.GetByName("Formulaire")
	lesSections = oDoc.TextSections
	Select Case oEv.Source.Model.Name
		Case "br1"
			maSection = lesSections.getByName("Fable")
			If oEv.Source.Model.state = 0 Then
				oForm.getByName("CorRen").ImageURL = ConvertToURL(Chemin & "le corbeau et le renard.jpg")
				maSection.IsVisible = True
			Else
				maSection.IsVisible = False
			End If
		Case "br2"
			maSection = lesSections.getByName("AOO")
			If oEv.Source.Model.state = 0 Then
				maSection.IsVisible = True
			Else
				maSection.IsVisible = False
			End If					
	End Select		
End Sub
Cordialement
Luke
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.4.7.2 Raspberry pi (Trixie) et Libo 7.6.5.2 LinuxMint 22
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par Piaf »

Bonjour
luky-luke a écrit :On peut aussi utilisé une case à cocher :
Ben Oui mais alors il faut changer le titre du fi :lol:
OK :arrow:
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
eylone
Fraîchement OOthentifié
Messages : 9
Inscription : 11 mai 2016 16:38

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par eylone »

Merci a vous de me repondre les gars
J ai essaye mais bug de la macro direct je suis pas doue
Rien que mettre les boutons j ai mis 20 mn par bouton lol
J ai environ 60 questions a mettre dedans et seulement 2 fonctionnent bien si une ame charitable peut prendre le temps de m aider ca serait au top quitte a etre remunere
je suis sur mac os yosemite et j ai open office 3.4.1
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par Piaf »

Bonsoir
La structure du questionnaire sans mise en forme.
Questionnaire.png
Tu as 60 questions donc 60 sections.
A priori la macro fonctionne sur tous les boutons radio.
J'ai changé la macro, parce que 60 case :fou:

Code : Tout sélectionner

Sub Afficher(oEv as Object)
Dim oDoc as Object, lesSections as Object, oForm as Object
Dim Fenetre As Object
	oDoc = thisComponent
	Chemin = getDirectory(oDoc.URL)
	oForm = oDoc.DrawPage.Forms.GetByName("Formulaire")
	lesSections = oDoc.TextSections
	Num = Mid(oEv.Source.Model.Name,3)
	maSection = lesSections.getByName("Q" & Num)
	If oEv.Source.Model.Label = "Non" Then
		maSection.IsVisible = True
	Else
		maSection.IsVisible = False
	End If
	Fenetre = ThisComponent.CurrentController.Frame.ContainerWindow
	Fenetre.setFocus	
End Sub
Bon courage pour remplir les sections :)
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
eylone
Fraîchement OOthentifié
Messages : 9
Inscription : 11 mai 2016 16:38

Re: [Writer] Afficher réponse selon commande OUI/NON

Message par eylone »

Un grand et énorme merci a vous tous et notamment a toi piaf

c 'est exactement ce que je recherchais à faire mais sans succès
:bravo:
je suis sur mac os yosemite et j ai open office 3.4.1