[Résolu] [Calc] Propriété visible d'un contrôle Bouton

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 !
Didier_BONANSEA
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 04 avr. 2014 09:42

[Résolu] [Calc] Propriété visible d'un contrôle Bouton

Message par Didier_BONANSEA »

Bonjour à tous,

Comme beaucoup, je me lance dans la programmation OpenOffice Basic, et tente de reproduire une appli déjà réalisée en VBA (userforms Excel).
Je cherche à masquer un bouton (puis, d'autres contrôles) sur une Boite de Dialogue, et malgré maintes recherches, des copier-coller de code trouvés ici et là, rien de marche.
Là, je cale.

Voici le code utilisé :

Code : Tout sélectionner

 Global Dlg As Object

     Sub Main
          Dim dlg As Object
          DialogLibraries.loadLibrary("Standard")
          dlg = CreateUnoDialog( DialogLibraries.Standard.Dialog1 )
          dlg.title = "Essai de boite de dialogue"
          dlg.execute()
     End Sub

     Sub Step2
          DialogLibraries.loadLibrary("Standard")
          dlg = CreateUnoDialog( DialogLibraries.Standard.Dialog1 )
          Dim v_ctrl as Object
          v_ctrl = dlg.GetControl("Bouton1")
          v_ctrl.visible = 0
          Msgbox "Fini"
     End Sub
Je joints le fichier ODS au cas où...

Merci pour votre aide.
Essais.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 04 avr. 2014 12:26, modifié 1 fois.
Raison : Balisage dans le premier message
OpenOffice 4.1.0 (Sans le Module Base)
Windows XP Pro SP3
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12662
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: En panne avec la propriété Visible d'un contrôle

Message par Bidouille »

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 les autres questions postées ?

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

Veuillez utiliser les balises [ code] et fin de code [ /code] pour encadrer vos lignes de macros

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é.
Didier_BONANSEA
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 04 avr. 2014 09:42

Re: [Calc] Propriété visible d'un contrôle Bouton

Message par Didier_BONANSEA »

Bonjour Bidouille,

Toutes mes excuses pour cette mauvaise présentation de mon message.
C'est mon premier, je serais attentif pour les (éventuels) prochains.

Merci.
OpenOffice 4.1.0 (Sans le Module Base)
Windows XP Pro SP3
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
Messages : 3028
Inscription : 30 avr. 2011 23:08
Localisation : Casablanca (Maroc)

Re: [Calc] Propriété visible d'un contrôle Bouton

Message par alhazred »

Bonjour,

Un oubli : qu'est-ce qui déclenche step2 ? il faut la relier à un événement, Exécuter l'action de Bouton1 par exemple.

Une erreur : si tu déclares Global dlg, c'est pour que cette variable soit accessible à toutes les macros ; alors pourquoi Dim dlg dans Main, qui au contraire la rend locale à Main ?

Autre erreur : quand step2 s'exécute, le dialogue est déjà affiché, il faut donc supprimer les deux premières lignes.
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Calc] Propriété visible d'un contrôle Bouton

Message par Piaf »

Bonjour
un petit exemple à tester, step2 est affectée à Exécuter l'action du bouton 1

Code : Tout sélectionner

Global Dlg As Object

Sub Main
Dim dlg As Object
DialogLibraries.loadLibrary("Standard")
dlg = CreateUnoDialog( DialogLibraries.Standard.Dialog1 )
dlg.title = "Essai de boite de dialogue"
dlg.execute()
End Sub

Sub Step2(oEv as Object)
Dim v_ctrl as Object
	Dlg = oEv.Source.Context
	v_ctrl = dlg.GetControl("Bouton2")
	If v_ctrl.Model.EnableVisible = False Then
		v_ctrl.Model.EnableVisible = True
	Else
		v_ctrl.Model.EnableVisible= False	
	end if
	Msgbox "cliquer sur le premier bouton pour afficher ou masquer le second"
End sub
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Didier_BONANSEA
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 04 avr. 2014 09:42

Re: [Calc] Propriété visible d'un contrôle Bouton

Message par Didier_BONANSEA »

alhazred a écrit :Bonjour,

Un oubli : qu'est-ce qui déclenche step2 ? il faut la relier à un événement, Exécuter l'action de Bouton1 par exemple.

Une erreur : si tu déclares Global dlg, c'est pour que cette variable soit accessible à toutes les macros ; alors pourquoi Dim dlg dans Main, qui au contraire la rend locale à Main ?

Autre erreur : quand step2 s'exécute, le dialogue est déjà affiché, il faut donc supprimer les deux premières lignes.
Bonjour,
En fait, j'ai rédigé ce bout de code dans un nouveau classeur afin d'illustrer mon problème sans alourdir avec l'intégralité du projet en cours.
De là viennent mon OUBLI et mes deux ERREURS.

Ceci étant, à mon stade de l'évolution dans l'appropriation des règles d'OpenBasic, tes rappels sont loin d'être superflus. Merci mille fois.
OpenOffice 4.1.0 (Sans le Module Base)
Windows XP Pro SP3
Didier_BONANSEA
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 04 avr. 2014 09:42

Re: [Calc] Propriété visible d'un contrôle Bouton

Message par Didier_BONANSEA »

Le modérateur a écrit :Pour répondre à un message, utilisez le bouton RÉPONDRE (en bas de page à gauche) et non le bouton CITER ce qui évite de citer l'ensemble du message précédent rendant la lecture très difficile.

MERCI PIAF !

A double titre : d'une part, pour le lien (que je n'avais pas compris) entre une procédure et un événement (oEv as Object).
D'autre part, pour la propriété EnableVisible. Depuis des heures, je me casse les dents sur les fonctions Visible = True, Visible = 1, SetVisible, sans compter quelques braves galères en essayant les STEP (d'où le nom de la procédure), le tout sans résultat. A aucun moment, je n'ai croisé la propriété EnableVisible, qui répond entièrement à mon attente.

A très beintôt, et merci encore.
Dernière modification par Oukcha le 04 avr. 2014 12:21, modifié 1 fois.
Raison : Suppression citation intégrale du prècédent message
OpenOffice 4.1.0 (Sans le Module Base)
Windows XP Pro SP3
Didier_BONANSEA
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 04 avr. 2014 09:42

[Résolu] [Calc] Propriété visible d'un contrôle Bouton

Message par Didier_BONANSEA »

Mon problème est résolu, je clôture le message.
OpenOffice 4.1.0 (Sans le Module Base)
Windows XP Pro SP3
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Calc] Propriété visible d'un contrôle Bouton

Message par Piaf »

Re
Didier_BONANSEA a écrit :je clôture le message.
La balise et la coche sont à mettre dans le premier message du fil. :)
Didier_BONANSEA a écrit :pour la propriété EnableVisible
C'est une propriété du modèle du contrôle.
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64