Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau membre du Club
    Comment rendre actif un bouton dans une feuille protégée ?
    bonjour,
    sur une feuille j'ai un bouton "effacement", pour effacer (ça tombe bien ) les données manuelles,
    dont voici, pour infos, le script
    Code oBasic :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Dim monDocument As Object
    Dim lesFeuilles as Object
    Dim maFeuille As Object
    Dim maCellule As Object
     
    Sub RaZ_1Q()
    	If MsgBox("Voulez-vous effacer les données ?", 292) = 7 Then Exit Sub
        Call SuppFeuille_1("Données")
    End Sub
    	'effacement données manuelles
    Function SuppFeuille_1 (NomFeuille as string)
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille = lesFeuilles.getByName(NomFeuille)
     
        aEffacer =  com.sun.star.sheet.CellFlags.VALUE +_
                    com.sun.star.sheet.CellFlags.DATETIME
     
        maCellule = maFeuille.getCellRangeByName("B8:G15")
        maCellule.clearContents(aEffacer)
    End Function

    ça fonctionne nickel, et depuis pas mal de temps
    or, quand la feuille est protégée (sans mdp) pour ne laisser que les cellules "données manuelles" modifiables
    la fonction effacement n'est plus active, après appui sur le bouton, la boite de validation apparaît, clic oui, mais rien ne s'efface
    je suis obligé de "déprotéger" la feuille, effacer puis "reprotéger"
    c'est pas trop pratique
    j'ai trouvé un petit script ici
    https://www.developpez.net/forums/d1563886/logiciels/logiciels-libres-open-source/bureautique/openoffice-libreoffice/proteger-deproteger-feuille-code/
    Code oBasic :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub mdpTableur()
    Dim monDocument As Object, motPasse As String
     
        monDocument = ThisComponent
     
        if monDocument.isProtected then
            monDocument.unprotect("PullOff44")
        else
            monDocument.protect("PullOff44") ' mettre un mot de passe
        end if
     
    End Sub

    j'ai essayé de l'adapter, mais n'y suis pas arrivé
    question : comment faire pour que l'effacement soit actif même quand la feuille est protégée ? est-ce possible ?
    merci d'avance
    déb

  2. #2
    Nouveau membre du Club
    re,
    il n'y a pas possibilité ?

  3. #3
    Nouveau membre du Club
    bonsoir,
    bon apparemment il n'y a pas de solution
    tant pis
    merci et A++

###raw>template_hook.ano_emploi###