[Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Modérateur : Vilains modOOs
Règles du forum
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 !

Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 30 janv. 2023 21:26
[Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
j’ai créé une boite de dialogue comprenant 7 boutons radio, un champ numérique et un bouton de validation.
Le champ numérique est invisible à l’ouverture du dialogue. Il doit devenir visible lorsque le bouton radio n°3 est activé et s’effacer une fois avoir validé.
C’est sur ses points que je butte. Votre aide serait la bien venue.
Ci joint mon fichier avec son code.
Merci.
j’ai créé une boite de dialogue comprenant 7 boutons radio, un champ numérique et un bouton de validation.
Le champ numérique est invisible à l’ouverture du dialogue. Il doit devenir visible lorsque le bouton radio n°3 est activé et s’effacer une fois avoir validé.
C’est sur ses points que je butte. Votre aide serait la bien venue.
Ci joint mon fichier avec son code.
Merci.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jef39 le 24 déc. 2023 19:23, modifié 1 fois.
LibreOffice 7.4.4.2 sous windows 11
-
- SuppOOrter
- Messages : 1140
- Inscription : 19 août 2018 05:20
Re: [Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
Je vous invite à installer Xray pour voir quels sont les propriétés pour rendre (in)visible un contrôle.
Je vous invite à installer Xray pour voir quels sont les propriétés pour rendre (in)visible un contrôle.
Open Office 4.1.15 sous Windows 11
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 30 janv. 2023 21:26
Re: [Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
LibreOffice 7.4.4.2 sous windows 11
-
- RespOOnsable forum
- Messages : 9811
- Inscription : 28 août 2010 08:45
Re: [Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 30 janv. 2023 21:26
Re:[Résolu] [Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
désolé j'avais oublier la coche verte. c'est fait (du moins je l'espère).
Cordialement
désolé j'avais oublier la coche verte. c'est fait (du moins je l'espère).
Cordialement
LibreOffice 7.4.4.2 sous windows 11
-
- RespOOnsable forum
- Messages : 12659
- Inscription : 08 nov. 2005 16:23
- Localisation : Brest, France
Re: [Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
Relisez le lien qu'on vous a donné : pour être visible le balisage doit être placé dans le PREMIER message.
Nous sommes un forum d'entraide, merci de partager la solution à ce problème en publiant un document contenant la nouvelle macro.
Vous êtes invité à penser à ceux qui effectuent des recherches et qui tombent sur des fils en impasse.
Cordialement
Relisez le lien qu'on vous a donné : pour être visible le balisage doit être placé dans le PREMIER message.
Nous sommes un forum d'entraide, merci de partager la solution à ce problème en publiant un document contenant la nouvelle macro.
Vous êtes invité à penser à ceux qui effectuent des recherches et qui tombent sur des fils en impasse.
Cordialement
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 30 janv. 2023 21:26
Re: [Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
j'espère que cette fois se sera la bonne.
Voici ci dessous le listing qui gère la partie de ma boite de dialogue permettant l'affichage du champ année lorsque qu'on clique sur la 3ème ligne.
La Sub afficheAnnee est à mettre dans l'évènement "A la réception du focus" du 3° bouton radio.
Cordialement
Jef39
j'espère que cette fois se sera la bonne.
Voici ci dessous le listing qui gère la partie de ma boite de dialogue permettant l'affichage du champ année lorsque qu'on clique sur la 3ème ligne.
Code : Tout sélectionner
Sub AfficheDialogueMENU()
Dim bibli As Object
Dim monDialogue As Object, exitOK As String
Dim ChAnnee as object,Annee as double
Dim Coche as Object
Dim OptionButton1 as Boolean
Dim OptionButton2 as Boolean
Dim OptionButton3 as Boolean
Dim OptionButton4 as Boolean
Dim OptionButton5 as Boolean
Dim OptionButton6 as Boolean
Dim OptionButton7 as Boolean
exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK
' charger la bibliothèque en mémoire
DialogLibraries.LoadLibrary( "Standard" )
' récupérer l'objet bibliothèque
bibli = DialogLibraries.GetByName("Standard")
' récupérer la boîte de dialogue dans la bibliothèque
monDialogue = bibli.GetByName("MENU")
Dlg = CreateUnoDialog(monDialogue) ' créer le dialogue
monDocument=thiscomponent
mesFeuilles = monDocument.sheets
maFeuille = mesFeuilles.GetByName("Choristes")
'ModifierDialogue
Dlg.execute
Coche =Dlg.GetControl("OptionButton1")
OptionButton1=Coche.State
Coche =Dlg.GetControl("OptionButton2")
OptionButton2=Coche.State
Coche =Dlg.GetControl("OptionButton3")
OptionButton3=Coche.State
Coche =Dlg.GetControl("OptionButton4")
OptionButton4=Coche.State
Coche =Dlg.GetControl("OptionButton5")
OptionButton5=Coche.State
Coche =Dlg.GetControl("OptionButton6")
OptionButton6=Coche.State
Coche =Dlg.GetControl("OptionButton7")
OptionButton7=Coche.State
if OptionButton1 then
'affiche la saison en cours
Cells = maFeuille.GetCellRangeByName("J1")
Annee = Cells.value
End if
if OptionButton2 then
'Affiche tous les choristes actuels et anciens
Annee=0
End if
if OptionButton3 then
'Affiche les choristes de la saison choisie
Dim k as Object
Cells = maFeuille.GetCellRangeByName("J1")
Cell=Cells.Value
k=Dlg.getControl("Annee")
Annee = k.model.Value
if Annee<1987 or Annee>Cell then
Msgbox "Valeur incorrect : "& chr(13)_
& "l'année doit être comprise entre 1987 "_
& "et " & Cell &". "
'Dlg.Dispose
exit sub
end if
End if
if OptionButton4 then
'Création d'un nouveau choriste
End if
if OptionButton5 then
'Mise à jour des information d'un choriste
End if
if OptionButton6 then
'Mise à jour des mandats
End if
if OptionButton7 then
'Affichage aide
End if
Cells = maFeuille.GetCellRangeByName("M1")
Cells.value=Annee
Dlg.Dispose
End Sub
sub fermer
Dlg.Dispose
end sub
sub afficheAnnee
dim k as object
k=Dlg.getControl("Annee")
if k.Model.EnableVisible = false then
k.Model.EnableVisible = True
endif
end sub
Cordialement
Jef39
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.4.4.2 sous windows 11
-
- SuppOOrter
- Messages : 1140
- Inscription : 19 août 2018 05:20
Re: [Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
Sauf erreur, il n'y a pas de macro dans le document joint.
Et je ne vois pas comment la Sub afficheAnnee pourrait marcher puisque le dialogue n'est pas passé en paramètre ou déclaré en variable globale.
Sauf erreur, il n'y a pas de macro dans le document joint.
Et je ne vois pas comment la Sub afficheAnnee pourrait marcher puisque le dialogue n'est pas passé en paramètre ou déclaré en variable globale.
Open Office 4.1.15 sous Windows 11
-
- Fraîchement OOthentifié
- Messages : 7
- Inscription : 30 janv. 2023 21:26
Re: [Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Bonjour,
je remets le fichier test avec toutes les macros. Je l'ai vérifié : chez moi lorsque je clique sur le bouton "accès menu" du tableau j'obtiens bien la boite de dialogue et lorsque je clique sur le 3° bouton radio le champ numérique apparait. Si je rentre une valeur correcte dans se champ cette valeur s'inscrit en M1.
Il y à encore quelques problèmes à régler mais pour moi la question que j'ai posé est résolue.
Cordialement
je remets le fichier test avec toutes les macros. Je l'ai vérifié : chez moi lorsque je clique sur le bouton "accès menu" du tableau j'obtiens bien la boite de dialogue et lorsque je clique sur le 3° bouton radio le champ numérique apparait. Si je rentre une valeur correcte dans se champ cette valeur s'inscrit en M1.
Il y à encore quelques problèmes à régler mais pour moi la question que j'ai posé est résolue.
Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.4.4.2 sous windows 11
-
- SuppOOrter
- Messages : 1140
- Inscription : 19 août 2018 05:20
Re: [Résolu][Calc]affiche/desaffiche champ numerique d'une boite de dialogue
Normal car vous déclarez toutes les variables en amont :
Ce qui n'est pas très propre. Il vaut mieux récupérer l'objet en paramètre.
C'est mon avis.
Code : Tout sélectionner
Option explicit
Private Dlg As Object
Private monDocument as Object
Private mesFeuilles as Object
Private maFeuille as Object
Private Cells as Object, Cell as double
C'est mon avis.
Open Office 4.1.15 sous Windows 11