Bonjour
Je pensais qu'avec une macro, on pouvait modifier une cellule protégée.
Mais, il me semble que ce n'est pas le cas
Est-il possible de déprotéger une feuille avec une macro et de la
reprotéger en fin de macro ?
Bonjour
Je pensais qu'avec une macro, on pouvait modifier une cellule protégée.
Mais, il me semble que ce n'est pas le cas
Est-il possible de déprotéger une feuille avec une macro et de la
reprotéger en fin de macro ?
Bonjour,
Pour déprotéger
Feuille.unprotect("mdp") ' enlever le mot de passe
Feuille.unprotect("") ' sans mot de passe
Pour protéger
Feuille.protect("mdp") 'avec mot de passe
Feuille.protect("") 'sans mot de passe
Feuille étant bien sur l'objet feuille à traiter.
Claude
Merci ça marche.
Mais, je suis déçu de la protection des cellules même par macro. S'il
existait une possiblité de protéger, mais pas des macros, ce serait pas mal.
Bonsoir,
Curieux, chez moi, après vérification, la macro arrive bien à écrire dans des cellules protégées..
Win 10 - Calc 6.2.3.2
Macro
doc=thisComponent
f=doc.Sheets.getByName("Ecrire") ' la feuille sur laquelle on va travailler
lg=0
col=5
cel=f.getCellByPosition(col,lg)
'Ecrire des chiffres
cel.value=1 'On écrit un nombre -> VALUE
For col=6 To 10
cel=f.getCellByPosition(col,lg)
cel.value=col-4
Next col
Christian F
Bonjour,
Curieux, chez moi, après vérification, la macro arrive bien à écrire dans des cellules protégées..
oui, l'intérêt de l'écriture par macro est qu'elle court-circuite la protection (utiliser la propriété Model aide souvent en ce domaine en cas de blocage par accès une propriété directe).
Il est cependant intéressant de noter que des opérations portant sur des plages de cellules/des feuilles nécessitent des feuilles non protégées ; c'est le cas du tri, par exemple.
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.
Bien cordialement,
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.
Bien cordialement,
Bonsoir,
Curieux, chez moi, après vérification, la macro arrive bien à écrire
dans des cellules protégées..Win 10 - Calc 6.2.3.2
J'ai la même version sous linux. Pourtant, j'avais bien ce problème !
Je regarde de plus près, en fait, voici un extrait des instruction.
f_recto.getCellByPosition(21,6).String=f_profil.getCellByPosition(6,i).String
f_recto.getCellByPosition(11,9).FormulaLocal="="+f_profil.getCellByPosition(7,i).String
Si je laisse la feuille protégée, je peux changer avec la première
ligne, mais pas avec la seconde. Les ".String" passent, mais pas les
".FormulaLocal"
Effectivement "formulaLocal" ne passe pas, mais "formula" tout court passe bien
C'est quoi la différence entre ces deux items ?
Bonjour,
Entre autres, "Formula" utilise les noms de fonction de base 'en anglais) alors que "FormulaLocal" permet d'utiliser les noms de fonctions locales (par exemple Somme au lieu de Sum).
Apparemment aussi, Formula passe sur une feuille protégée alors que FormulaLocal, non ..
cf, notamment, https://forum.openoffice.org/fr/forum/viewtopic.php?f=15&t=14627
Au passage, je pense que, tant qu'à faire des programmes autant tout travailler en anglais : date, séparateur décimal, nom de fonction .. etc. Mélanger les langues te les références peut être pénible et peut conduire à des erreurs.Donc autant utiliser Formula .. et puis c'est plus court à écrire ..
Bon courage
Christian F
Pour ma part, même formula ne passe pas quand c'est protégé.
Heu... Même déprotégé formula ne passe pas ??