Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment conserver la table extensible en insérant la ligne de table dans une feuille de calcul protégée dans Excel?

La fonction d'expansion automatique de la table sera perdue après la protection de la feuille de calcul dans Excel. Par exemple, il existe une table nommée Table1 dans votre feuille de calcul protégée, lorsque vous tapez quelque chose sous la dernière ligne, la table ne se développera pas automatiquement pour inclure la nouvelle ligne. Existe-t-il une méthode pour maintenir la table extensible en insérant une nouvelle ligne dans une feuille de calcul protégée? La méthode de cet article peut vous aider à y parvenir.

Maintenez la table extensible en insérant la ligne de table dans une feuille de calcul protégée avec le code VBA

Onglet Office Activer l'édition et la navigation par onglets dans Office, et simplifiez grandement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, graphiques et autres éléments les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement.
  • Plus que le texte 20 comprend: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Fusionner les outils: Plusieurs classeurs et feuilles en un; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils Split: Fractionner les données en plusieurs feuilles en fonction de la valeur; Un classeur pour plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller Sauter Lignes cachées / filtrées; Compte et somme par couleur de fond; Envoyez des e-mails personnalisés à plusieurs destinataires en bloc.
  • Super filtre: Créez des schémas de filtrage avancés et appliquez-les à toutes les feuilles. Trier par semaine, jour, fréquence et plus; Filtre en gras, formules, commentaires ...
  • Plus que de puissantes fonctionnalités 300; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue droite bulle Maintenez la table extensible en insérant la ligne de table dans une feuille de calcul protégée avec le code VBA


Comme illustré ci-dessous, une table nommée Table1 dans votre feuille de calcul et la dernière colonne de la table est une colonne de formule. Vous devez maintenant protéger la feuille de calcul pour empêcher la modification de la colonne de formule, mais permettre d'étendre la table en insérant une nouvelle ligne et en affectant de nouvelles données aux nouvelles cellules. S'il vous plaît faire comme suit.

1. Cliquez Développeur > insérer > Bouton (contrôle de formulaire) insérer un Contrôle de formulaire bouton dans votre feuille de calcul.

2. Dans le popping up Assigner une macro boîte de dialogue, cliquez sur le Nouveau .

3. dans le Microsoft Visual Basic pour applications fenêtre, s'il vous plaît copier et coller le code VBA ci-dessous entre le Sous et End Sub paragraphes dans le Code fenêtre.

Code VBA: Conserver la table extensible en insérant la ligne du tableau dans une feuille de calcul protégée

Dim pswStr As String
'Update by ExtendOffice 20181106
    pswStr = "123"
    On Error Resume Next
   Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:=pswStr
       ActiveSheet.Range("A1").Select
        Range("Table1[[#Headers],[Total]]").Select
        Selection.End(xlDown).Select
        Selection.Offset(1, 0).Select
        ActiveCell.FormulaR1C1 = "new"
        ActiveSheet.Protect Password:=pswStr, DrawingObjects:=False, _
                        Contents:=True, Scenarios:=False, _
                        AllowFormattingCells:=True, AllowFormattingColumns:=True, _
                        AllowFormattingRows:=True, AllowInsertingColumns:=True, _
                        AllowInsertingRows:=True, AllowInsertingHyperlinks:=True, _
                        AllowDeletingColumns:=True, AllowDeletingRows:=True, _
                        AllowSorting:=True, AllowFiltering:=True, _
                        AllowUsingPivotTables:=True
    Selection.ClearContents
    Application.ScreenUpdating = True

Remarques:

1). Dans le code, le numéro "123" est le mot de passe que vous utiliserez pour protéger la feuille de calcul.

2). Veuillez modifier le nom de la table et le nom de la colonne contenant la formule que vous allez protéger.

3). Et modifiez le décalage dans le code Selection.Offset (1, -4) .Sélectionnez la première colonne cible de la table. Par exemple, s'il y a six colonnes dans la table, remplacez le décalage par (1, -5).

4. appuie sur le autre + Q clés pour fermer la fenêtre Microsoft Visual Basic pour Applications.

5. Sélectionnez les cellules dans la table dont vous avez besoin pour affecter de nouvelles données à l'exception de la colonne de formule, puis appuyez sur la Ctrl + 1 clés pour ouvrir le Format de cellule boite de dialogue. dans le Format de cellule boîte de dialogue, décochez la case Fermé boîte, puis cliquez sur le OK bouton. Voir la capture d'écran:

6. Protégez maintenant votre feuille de calcul avec le mot de passe que vous avez spécifié dans le code VBA.

À partir de maintenant, après avoir cliqué sur le bouton Form Control dans votre feuille de calcul protégée, la table sera extensible en insérant une nouvelle ligne comme ci-dessous.

Note: vous pouvez modifier la table sauf la colonne de formule dans la feuille de calcul protégée.


flèche bleue droite bulleArticles connexes:


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Michelle · 3 months ago
    Hello, I used the above code and got the following error message:
    "Code execution has been interrupted". When I click on Debug, Line 20 "Selection.ClearContents" is highlighted.

    When I initially entered the code, it worked correctly.

    I changed "Table" to the name of the table and change the column to the name of the column I am using. I also changed the "Selection.Offset (x,-x).Select" to match my needs.


    Any suggestions as to why this is occurring?
  • To post as a guest, your comment is unpublished.
    Mac · 8 months ago
    Try this Vba code for add new line in you table

    Sub Tab_Line_Add()
    Dim pswStr As String
    pswStr = "123"
    On Error Resume Next
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:=pswStr
    ActiveSheet.Range("D8").Select
    'D8 is tabel header
    Range("Table1[[#Headers],[Total]]").Select
    Selection.End(xlDown).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=False
    ActiveSheet.Protect Password:=pswStr

    End Sub
    .
    • To post as a guest, your comment is unpublished.
      sohael al-husainy · 3 months ago
      using the suggested (Selection.ListObject.ListRows.Add AlwaysInsert:=False) fixed a similar problem for me with the original code, where a new full row (extending down cell contained formulas) would not be added to the table on a much wider table 51 columns. So thanks for sharing and fixing Mac.
    • To post as a guest, your comment is unpublished.
      crystal · 8 months ago
      Hi Mac,
      Thanks for sharing.
  • To post as a guest, your comment is unpublished.
    Brandi · 1 years ago
    So I tried this however it adds a new row at the bottom of the workbook on line 1048576 however my table only has about 800 records. I have no idea why it's doing this!
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Brindi,
      The code has been updated with the problem solved, please have a try and thank you for your comment.
      • To post as a guest, your comment is unpublished.
        Ali · 10 months ago
        Hi Crystal, theproblem is same. I created a new table for myself with only 2 rows. Once I click the button the list is expanded till end of table without adding any Rows. It should be adding to Row number 3.
      • To post as a guest, your comment is unpublished.
        Ali · 10 months ago
        Hi Crystal, theproblem is same. I created a new table for myself with only 2 rows. Once I click the button the list is expanded till end of table without adding any Rows. It should be adding to Row number 3.