[Résolu] [Calc] Assignation bouton pour déverrouillage

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 !
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

[Résolu] [Calc] Assignation bouton pour déverrouillage

Message par tontonklod »

Bonjour à toute la communauté [*]

Je suis sur le point de finaliser une assignation sur un bouton de commande avec MDP

c'est un bouton que j'ai récupéré sur le forum : merci à Pierre-Yves Samyn
https://forum.openoffice.org/fr/forum/m ... file&u=794

Son étiquette est "VALIDATION DG"

Le bouton fait ouvrir une boite de dialogue ( les macros sont dans 2 bibliothèques : ..Standart ...et Planning )

Son mot de passe est "ok"

Après validation du Mdp....une fenetre d'erreur s'ouvre...."erreur d'exécution du Basic"
Car il me manque la ligne de code pour déverrouiller les cellules O41/062

la fonction de ce bouton est donc de déverrouiller les cellules O41:O62 pour qu'un utilisateur averti puisse saisir

Je demande une aide afin de poser la bonne ligne de code sur la macro

cordialement

Claude

MON FICHIER Ods
et ma fenêtre d'erreure
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par tontonklod le 19 déc. 2017 08:34, modifié 2 fois.
open office 4.1.4 macOS10.11.6
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
Messages : 1274
Inscription : 10 nov. 2006 15:04
Localisation : F-Oise

Re: [Calc] Assignation bouton pour déverrouillage de cellul

Message par OOo - Ekel »

Bonjour,

Une rapide recherche sur le forum donne : https://forum.openoffice.org/fr/forum/v ... le#p290274

Plus qu'à lire maintenant... le sujet semble similaire.

Cordialement
Ekel

KUbuntu Jammy Jellyfish (22.04) : LibreOffice 24.2.0.3 Officielle
AMD Ryzen 5 5600G
AMD Radeon RX 6650 XT
22" + 22"
16 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

Re: [Calc] Assignation bouton pour déverrouillage de cellul

Message par tontonklod »

Bonjour Ooo Ekel

merci
je viens effectivement de découvrir sur ce post la ligne " Verrouon"

j'ai rentré

Code : Tout sélectionner

VerrouOn("O41:O62")
mais j'ai toujours une erreur basic pour déverrouiller les cellules O41:O62

je pense ne pas l'avoir introduit au bon endroit

merci pour toute aide

Claude

mon fichier dos
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.4 macOS10.11.6
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: [Calc] Assignation bouton pour déverrouillage de cellul

Message par Noonours »

Bonjour

Le simple fait de placer "VerrouON" ne lancera pas la macro correspondante car elle n'est dans aucune bibliothèque... :marto:
Essaye de remplacer la sub PysMasquer par:

Code : Tout sélectionner

Sub PysMasquer

dim PysDoc as object, PysForm as object, PysView as object, PysCtrl as object
dim PysViewCtrl as object

PysDoc=thiscomponent                                 'le document courant
PysView=PysDoc.currentcontroller()                   'en gros la fenêtre dans laquelle se trouve le document
PysForm=PysView.ActiveSheet.drawpage.getforms()'      'pointe sur le formulaire principal dans ce document
PysCtrl=PysForm.getbyname("Formulaire")               'le nom du formulaire qui contient le bouton à masquer
PysCtrl.ControlModels(0).EnableVisible = False        'ne plus afficher le contrôle

End Sub
[/raye]
 Ajout :  
Oups! après avoir relu le début du post je me rends compte que tu ne cherchais pas à masquer le bouton mais à déverrouiller une zone :aie:
Je te propose ça:

Code : Tout sélectionner

option explicit

Sub Password

Dim Dlg As Object, bibli As Object, monDialogue As Object, MotDePasse as string

BasicLibraries.LoadLibrary("Planning")               'Chargement des bibliothèques
DialogLibraries.LoadLibrary("Planning")
bibli = DialogLibraries.GetByName("Planning")         
monDialogue = bibli.GetByName("Dialog1")            'Accès au dialogue

Dlg  = CreateUnoDialog(monDialogue)                  'Exécution du dialogue
Dlg.execute

MotDePasse = Dlg.getControl("TextField1").text         'Récupère le texte saisi

if PysVerifierMDP(MotDePasse) then                  'Appelle la fonction qui vérifie le mot de pass
   Verrou(MotDePasse)                           'Cette fonction est dans une autre bibliothèque qui peut être protégée
	
else
   msgbox "Vous n'êtes pas autorisé à poursuivre", 48, "Mot de passe invalide"
end if

End Sub
'*******************************************************************************************************
Sub Verrou(MdP As String)

Dim oDoc As Object, oFeuil As Object, oZone As Object

oDoc = ThisComponent
oFeuil = oDoc.CurrentController.ActiveSheet()
oZone = oFeuil.GetCellRangeByName("O41:O62")
if oFeuil.IsProtected then
 oFeuil.unprotect(MdP)
 oZone.CellProtection.IsLocked= False
else
 oFeuil.protect(MdP)
endif

End Sub
COOordialement,
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

Re: [Calc] Assignation bouton pour déverrouillage de cellul

Message par tontonklod »

Bonsoir Noonours

merci pour ton intervention rapide

j'ai inséré ton code dans ma macro standard et enregistré et fermé
A l'ouverture:
cela a marché une fois mais cela à detterer ( déverrouiller) toute la feuille

une seconde ouverture et message d'erreur Basic
la voici où BASIC affiche l'erreur dans la macro

Code : Tout sélectionner

oFeuil.unprotect(MdP)
mon fichier modifié , protégé sans mot de passe
le mot de passe du bouton reste "ok"

merci pour ton aide

Claude
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
open office 4.1.4 macOS10.11.6
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: [Calc] Assignation bouton pour déverrouillage de cellul

Message par Noonours »

Bonjour,

Je ne reproduis pas ton erreur chez moi.
Néanmoins, avec cette macro, le bouton se comporte comme un interrupteur qui doit être actionné a nouveau pour re-verrouiller la page.
Pour un verrou 'automatique' je pense qu'il faudrait passer par un Listener qui détecterait la perte de focus des cellules de la zone mais plus complexe à mettre en oeuvre et à maintenir...
Certains contributeurs chevronnés de ce forum sauraient peut-être apporter une solution plus élégante à ton problème, moi mes maigres compétences s'arrêtent là :|

COOordialement,
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

Re: [Résolu] [Calc] Assignation bouton pour déverrouillage

Message par tontonklod »

Bonjour Noonours

merci pour cette dernière précision

Cela marche effectivement....je dois donc faire attention lors du déverrouillage
pour éviter l'effacement de certaines formules ...cela fera l'objet d'un prochain post

Merci beaucoup pour ton aide précieuse

bonne journée
Bien cordialement

Claude
Dernière modification par tontonklod le 19 déc. 2017 08:16, modifié 1 fois.
open office 4.1.4 macOS10.11.6
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9255
Inscription : 28 août 2010 08:45

Re: [Calc] Assignation bouton pour déverrouillage de cellul

Message par micmac »

Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

[Résolu] [Calc] Re: Assignation bouton pour déverrouillage

Message par tontonklod »

Bonjour Micmac
j'ai effectivement indiqué la consigne au mauvais endroit, Hic
désolé
je profite de ce dernier message pour re éditer le résolu
cordialement
claude
[*]
La modération vous a écrit: Balisage dans le premier message du fil SVP, sinon ce ne sera pas visible depuis la page d'accueil. Merci
Et laisser la balise [Calc]. Au besoin adaptez la longueur du titre (60 signes au total)

open office 4.1.4 macOS10.11.6
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

[Résolu] Re: Assignation bouton pour déverrouillage

Message par tontonklod »

Micmac
quand je reviens sur la liste des messages
cela n'indique pas la balise demandé
je recommence, mais sans la balise Calc

claude
open office 4.1.4 macOS10.11.6
tontonklod
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 07 déc. 2017 14:34
Localisation : ilote de france

Re: [Résolu] [Calc] Assignation bouton pour déverrouillage

Message par tontonklod »

OK
bien noté
merci Micmac
Bien cordialement
Claude
open office 4.1.4 macOS10.11.6