Afficher les boutons par macro Le sujet est résolu

Y compris Writer et toute autre question en lien avec les suites bureautiques Open Source
Répondre
a
acymospc
Membre fidèle
Membre fidèle
Messages : 236
Inscrit le : 26 décembre 2012
Version d'Excel : 2003-2010-2013 FR,, Calc 4.2

Message par acymospc » 19 décembre 2014, 12:04

Bonjour,

j'aimerai connaître le code pour afficher ou masquer les boutons sur une feuille sous libreOffice Calc, en macro .

Merci
Compte redirigé vers Serenodo
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 9'115
Appréciations reçues : 88
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 21 décembre 2014, 21:02

Salut,

Voici deux codes qui devraient répondre à ton attente, selon l'essai ci-joint :

Option Explicit
Sub Protection_feuilles_bis()

With ActiveSheet
.Shapes("Protéger_fichier").Delete
.Buttons.Add(100, 10, 150, 25).Name = "Enlever_protection"
.Shapes("Enlever_protection").OnAction = "Enlever_la_protection"
.Shapes("Enlever_protection").TextFrame.Characters.Text = "Enlever la protection"
End With

End Sub

Cordialement.
Sub Enlever_la_protection()

With ActiveSheet
.Shapes("Enlever_protection").Delete
.Buttons.Add(100, 10, 150, 25).Name = "Protéger_fichier"
.Shapes("Protéger_fichier").OnAction = "Protection_feuilles_bis"
.Shapes("Protéger_fichier").TextFrame.Characters.Text = "Protéger le fichier"
End With

End Sub
Essai.xls
(67 Kio) Téléchargé 51 fois
Yvouille

Valais de Coeur
a
acymospc
Membre fidèle
Membre fidèle
Messages : 236
Inscrit le : 26 décembre 2012
Version d'Excel : 2003-2010-2013 FR,, Calc 4.2

Message par acymospc » 21 décembre 2014, 21:15

Bonsoir Yvouille,

Merci pour ton aide, je penses que tu as fais pour Excel ,et moi je voudrais en Ooo( LibreOffice).
voici les erreurs de ton code.
Essai(1).ods
(140.37 Kio) Téléchargé 77 fois
Merci
Compte redirigé vers Serenodo
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 9'115
Appréciations reçues : 88
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 21 décembre 2014, 22:44

Salut,

Comme énormément d'instructions d’Excel passent sur Open Office, je t’ai proposé un code Excel qui passe bien sur Excel et que j’espérais qui passe chez toi.

Si ce n’est pas le cas, désolé ! N’ayant pas Open Office, je ne peux pas t’aider plus.

Est-ce le moment de passer à Excel ? :?

Cordialement.
Yvouille

Valais de Coeur
a
acymospc
Membre fidèle
Membre fidèle
Messages : 236
Inscrit le : 26 décembre 2012
Version d'Excel : 2003-2010-2013 FR,, Calc 4.2

Message par acymospc » 22 décembre 2014, 09:38

Bonjour Yvouille,

Merci pour ton aide;
Je sais le faire sous Excel.
Mais étant à la recherche d'emploi, je mise sur tous les domaines.
Et en ce moment c'est open Office qui est le plus demandé.

:shock: :shock: :shock: :shock:
Compte redirigé vers Serenodo
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 9'115
Appréciations reçues : 88
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 22 décembre 2014, 19:22

C'est peut être très demandé, mais je n'en avais jamais entendu parler avant toi :D :D :D

Bon succès :)
Yvouille

Valais de Coeur
Avatar du membre
Mytå
Membre impliqué
Membre impliqué
Messages : 1'501
Appréciation reçue : 1
Inscrit le : 28 novembre 2009
Version d'Excel : Excel 2003, 2007, 2010, 2016

Message par Mytå » 12 janvier 2015, 17:15

Salut le »Forum

Un exemple de code à adapter.
Sub GererBoutons

dim oDoc as object, oViewCtrl as object, oFeuille as object
dim oForm as object, oView as object, oCtrl as object

oDoc = thiscomponent
oView = oDoc.currentcontroller()
oFeuille = oDoc.sheets.getByName("Feuille1")

oForm = oFeuille.drawpage.getforms().getbyname("Formulaire")
oCtrl = oForm.getbyname("Bouton 2")
oViewCtrl = oView.getcontrol(oCtrl)

with oViewCtrl
	.setVisible(not(.IsVisible))
end with 

End Sub
Mytå
Même des personnes qui étaient très actives auparavant
peuvent soudainement ne plus avoir le goût de participer du tout . . .
a
acymospc
Membre fidèle
Membre fidèle
Messages : 236
Inscrit le : 26 décembre 2012
Version d'Excel : 2003-2010-2013 FR,, Calc 4.2

Message par acymospc » 30 mai 2015, 19:55

Bonjour,
voici pour afficher les boutons avec un fond de cellule qui change
Sub AfficherBoutonsOoo

Call CouleurDoubleMagenta6()

dim oDoc as object, oViewCtrl as object, oViewCtrl2 as object, oFeuille as object
dim oForm as object, oView as object, Btn1 as object, Btn2 as object, Btn3 as object

oDoc = thiscomponent										'le document courant
oView = oDoc.currentcontroller()							'en gros la fenêtre dans laquelle se trouve le document
oFeuille = oDoc.sheets.getByName("Passions")				'la feuille

oForm = oFeuille.drawpage.getforms().getbyname("Formulaire")	'pointe sur le formulaire principal dans la feuille

Btn1 = oForm.getbyname("BtnCoursPerso")
Btn2 = oForm.getbyname("BtnMacro")
Btn3 = oForm.getbyname("BtnLien")

Btn1.EnableVisible = True
Btn2.EnableVisible = True
Btn3.EnableVisible = True


End Sub


sub CouleurDoubleMagenta6
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$F$14:$G$27"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "BackgroundColor"
args2(0).Value = 6684774

dispatcher.executeDispatch(document, ".uno:BackgroundColor", "", 0, args2())
end Sub

Compte redirigé vers Serenodo
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message