Protéger les formules d'un tableau structuré

Bonjour,

Une particularité intéressante d'excel, est la possibilité d'organiser un liste de données (base de données) sous forme structurée via "Mise sous forme de tableau" dans le groupe "style".

Cette option permet lors d'un ajout d'une ligne en fin de tableau avec copie automatique des caractéristiques des lignes existantes du tableau (format, formule, validation, mise en forme conditionnelle). Il faut juste se positionner à la ligne sous la dernière ligne du tableau. Elle sera automatiquement intégrée au tableau.

Ce tableau est donc auto-extensible à chaque ajout de ligne sans manipulation de souris ou de copier/coller.

Le problème intervient lorsqu'on souhaite protéger certaines cellules (colonnes) du tableau qui contiennent des formules.

En déverrouillant les cellules de saisies et en protégeant la feuille, la caractéristique auto-extensible du tableau disparaît. C'est assez déroutant car le tableau n'est plus vraiment utile si aucune formule n'est intégrée, un comble !

Une parade possible est d'étendre le tableau à un nombre de lignes prédéfinis en laissant les zones de saisie vides.

Y-a-t-il un moyen que je n'aurais pas trouvé pour protéger les formules du tableau (en dehors de vba si possible) ?

Merci d'avance.

Bonjour,

J'ai rencontré le même problème. Dans l'esprit pour éditer un tableau structuré j'enlève la protection, j'utilise bien les fonctions "suppression de ligne de tableau" ou "suppression de colonne de tableau" afin qu'il se redimensionne automatiquement et une fois le travaille terminé je remets la protection. Avec le VBA cela se fait très facilement avec les fonctions

Sheet("").Unprotect password:=""

Sheet("").Protect password:=""

C'est cette solution que j'ai adoptée.

Bonjour , merci pour votre réponse. Ca sera difficile d 'appliquer cette méthode vu qu'il y aura plusieurs intervenants dans le fichier et qui ne sont pas forcément habitués à utiliser les fonction vba :/

Bonjour,

J'ai également rencontré ce même problème, j'ai crée un tableau utilisé par environ 10 utilisateurs, j'ai donc décidé de verrouiller les cellules avec formules et ne laisser accessibles que les cellules ou ils ont l'autorisation d'écrire.

Pour éviter que les utilisateurs touche la protection, j'ai crée un bouton d'insertion de ligne (voir code ci-dessous).

Le tableau structuré fonctionne très bien et les mise en forme conditionnelle aussi.

Sub Ajouter_une_ligne()

Dim nbcells As Integer
Dim nombre As Integer

    If MsgBox("Etes-vous certain de vouloir ajouter 1 ligne ?", vbYesNo, "Demande de confirmation") = vbYes Then
        ActiveSheet.Unprotect "Mot de passe"
    nbcells = Application.WorksheetFunction.CountA(Sheets("Nom de la feuille").Range("$E:$E")) - 2 'Compte le nombre de ligne non vide dans la colonne     "E", "-2" pour soustraire la ligne de titre "Ligne 4" et la ligne de récupération des informations "Ligne 3"
    nombre = nbcells - 1 '-1 pour ajouter une seule ligne

    Do While nbcells <= nombre + 1
        Cells(nbcells + 5, 5) = nbcells + 1   'Premier chiffre = Ligne 5, 2ème chiffre = Colonne 5
        nbcells = nbcells + 1 'Le numéro est augmenté de 1 à chaque boucle
    Loop
        ActiveSheet.Protect Password:="Mot de passe", DrawingObjects:=True, AllowFormattingCells:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True
    ActiveSheet.EnableSelection = xlNoRestrictions
    End If
End Sub

Le code est à adapter à ton classeur.

Bon courage.

Rechercher des sujets similaires à "proteger formules tableau structure"