Bonjour a tous,
Voila, je dois dans un de mes scripts faire en sorte que deux colonnes UNIQUEMENT soient verrouiller, les colonnes A et B ( si possible juste verouiller au niveau de la saisie et pas du redimensionnement mais ça je ne suis pas sur que c'est possible )
Et je veux que toutes les autres colonnes même vide soit deverouiller bien sur
Apparement j'ai cru comprendre que pour activer les fonctions de protection il faut utiliser
$sheet->getProtection()->setSheet(true);
Mais ça a pour effet de verouiller toute la feuille, ensuite on peut deverouiller des cellules au cas par cas avec
$sheet->getStyle('C1')->getProtection()->setLocked(PHPExcel_Style_Protection::PROTECTION_UNPROTECTED);
Mais ça n'est pas vraiment ce que je veux faire.
J'ai essayé la fonction
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| PHPExcel_Worksheet::protectCellsByColumnAndRow ( $ pColumn1 = 0,
$ pRow1 = 1,
$ pColumn2 = 0,
$ pRow2 = 1,
$ pPassword = '',
$ pAlreadyHashed = false
)
Set protection on a cell range by using numeric cell coordinates
Parameters:
int $pColumn1 Numeric column coordinate of the first cell
int $pRow1 Numeric row coordinate of the first cell
int $pColumn2 Numeric column coordinate of the last cell
int $pRow2 Numeric row coordinate of the last cell
string $pPassword Password to unlock the protection
boolean $pAlreadyHashed If the password has already been hashed, set this to true |
Mais ça ne fais rien ... Ou alors ça agit mais vu que tout est déjà verrouiller a cause de $sheet->getProtection()->setSheet(true); je ne vois pas l'intérêt.
Merci d'avance de votre aide !!
Partager