[Résolu][Calc] Mise à jour boutons 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 !
Avatar de l’utilisateur
Roby68
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 09 oct. 2013 23:12

[Résolu][Calc] Mise à jour boutons radio

Message par Roby68 »

Bonjour le Forum,

Ne trouvant pas la solution adéquat à mon petit problème de gestion de boutons radio, je me retourne vers vous.

Préférant du code manuel que l'enregistreur de macro (plus concis), j'aimerai arriver à ses différents résultats :
Chaque bouton radio est appelé Chx 1, 2, 3 etc.
Pour le 1er exemple : si je clic sur Oui du Bouton radio "Chx 1" les autres boutons radio doivent avoir des valeurs différentes (valeur dans les encadrés).

Si Chx 1 = Oui → → Chx 2 = Non / Chx 3 = Non / Chx 4 = Non / Chx 5 = Non / Chx 6 = Vide

Si Chx 1 = Non → → Chx 2 = Oui / Chx 3 = Vide / Chx 4 = Vide / Chx 5 = Vide / Chx 6 = Vide

Si Chx 2 = Oui → → Chx 1 = Non / Chx 3 = Vide / Chx 4 = Vide / Chx 5 = Vide / Chx 6 = Vide

Si Chx 2 = Non → → Chx 1 = Oui / Chx 3 = Vide / Chx 4 = Vide / Chx 5 = Vide / Chx 6 = Vide

Peut être que le code n'est pas adapté, certains boutons radio répondent bien mais pas le 1er bouton mentionné de la liste dans chaque macro, je suis obligé de faire 2 fois pour que cela change.
Le code est présent.

merci d'avance à ceux qui pourront m'aider.
Bonne soirée à tous
Pièces jointes
Gestion Btn Radio.ods
(120.75 Kio) Téléchargé 95 fois
Dernière modification par Roby68 le 23 août 2019 16:31, modifié 2 fois.
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro

LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: [Calc] Mise à jour boutons radio

Message par OOotremer971 »

Bonjour,

Sous réserve d'avoir correctement compris. Il faut systématiquement passer par un raz pour que le processus fonctionne correctement car le contenu des cellules liées aux boutons radio influence négativement le comportement.

Une seule macro suffit pour gérer tous les cas :

Code : Tout sélectionner

sub Main(oevt)
Raz
'xray oevt
Dim oDoc as Object, MesFeuilles as Object, maFeuille as Object
oDoc = ThisComponent
MesFeuilles = oDoc.Sheets
maFeuille = MesFeuilles.getByName("M")
Select case oevt.Source.Model.Tag	
	case "Chx1oui"
		maFeuille.getCellRangeByName("S3").SetString("O")
		maFeuille.getCellRangeByName("S7").SetString("N")
		maFeuille.getCellRangeByName("T7").SetString("N")
		maFeuille.getCellRangeByName("U7").SetString("N")
		maFeuille.getCellRangeByName("V7").SetString("")
		maFeuille.getCellRangeByName("S9").SetString("N")
		
	Case "Chx1non"
		maFeuille.getCellRangeByName("S3").SetString("N")
		maFeuille.getCellRangeByName("S7").SetString("O")
		maFeuille.getCellRangeByName("T7").SetString("")
		maFeuille.getCellRangeByName("U7").SetString("")
		maFeuille.getCellRangeByName("V7").SetString("")
		maFeuille.getCellRangeByName("S9").SetString("")

	Case "Chx2oui"
		maFeuille.getCellRangeByName("S7").SetString("O")
		maFeuille.getCellRangeByName("S3").SetString("N")
		maFeuille.getCellRangeByName("T7").SetString("")
		maFeuille.getCellRangeByName("U7").SetString("")
		maFeuille.getCellRangeByName("V7").SetString("")
		maFeuille.getCellRangeByName("S9").SetString("")

	Case "Chx2non"
		maFeuille.getCellRangeByName("S7").SetString("N")
		maFeuille.getCellRangeByName("S3").SetString("O")
		maFeuille.getCellRangeByName("T7").SetString("")
		maFeuille.getCellRangeByName("U7").SetString("")
		maFeuille.getCellRangeByName("V7").SetString("")
		maFeuille.getCellRangeByName("S9").SetString("")
End Select
End Sub
et le fichier pour tester :
Pièces jointes
GestionBtnRadio_Mod1.ods
(119.92 Kio) Téléchargé 99 fois
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Roby68
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 09 oct. 2013 23:12

Re: [Calc] Mise à jour boutons radio

Message par Roby68 »

Bonjour le Forum, OOotremer971,

Merci de consacrer un peu de temps à mon problème,
le Choix 1 Oui et Non fonctionne bien
Le Choix 2 Oui et Non fonctionne également bien

Les choix 3 et 4 Oui ne fonctionnent pas.

Pour la question de tout réinitialiser et mettre à Vide, je voulais éviter, car certains choix pouvaient se faire à partir du Choix 3 avant les deux principaux 1 et 2.
C'est quand même une bonne avancée, pour y remédier voir peut être le Raz plus sélectif.

Bonne journée à toi et au Forum
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro

LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Avatar de l’utilisateur
Dredd
Membre cOOnverti
Membre cOOnverti
Messages : 362
Inscription : 24 mai 2006 11:15
Localisation : Mega-City One

Re: [Calc] Mise à jour boutons radio

Message par Dredd »

Bonjour,

Je pense que tu fais un mauvais usage des boutons d'options. Une option est exclusive. Tout choix annule les autres.

Dans le cas que tu donnes, ce sont plutôt des cases à cocher.

:idea:
Propulsé par OpenOffice 4.1.6 sous Windows 10 x64
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: [Calc] Mise à jour boutons radio

Message par OOotremer971 »

Roby68 a écrit :Les choix 3 et 4 Oui ne fonctionnent pas.
Je te donne un exemple pour le quatre possibilités que tu proposes dans ton énoncé. A aucun moment tu mentionne un choix 3 ou 4, et rien ne t'empêche d'adapter le code pour ces autres choix, non ?

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Roby68
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 09 oct. 2013 23:12

Re: [Calc] Mise à jour boutons radio

Message par Roby68 »

Bonjour le Forum, OOotremer971, Dredd

Oui dans l'exemple les boutons radio 3 et 4 fonctionnent bien et je ne l'avais pas mentionné.

Pour ce qui est des cases à cocher, j'y avais bien pensé, mais ils restent limités car les choix Non sont importants dans le formulaire final.

Merci dans tous cas à vous deux

Bonne fin après midi et bon Week-end
LibreOffice 5.2.6.2 / LibreOffice 5.3 ( au Bureau ) "Par obligation de version".
Win 7 Pro

LibreOffice 6.2.5.2 ( Maison )
Win 10 Pro
Verrouillé