Note: The other languages of the website are Google-translated. Back to English

Comment empêcher la suppression de contenus de cellules spécifiques dans Excel?

Cet article parle d'empêcher la suppression de contenus de cellules spécifiques dans Excel. Vous pouvez y parvenir avec les méthodes de cet article.

Empêcher la suppression de contenus de cellules spécifiques en protégeant la feuille de calcul
Empêcher la suppression de contenus de cellules spécifiques à l'aide du code VBA


Empêcher la suppression de contenus de cellules spécifiques en protégeant la feuille de calcul

Par défaut, toutes les cellules de la feuille de calcul sont verrouillées. Si vous souhaitez empêcher la suppression du contenu d'une cellule spécifique et rendre d'autres cellules modifiables après la protection, procédez comme suit.

1. Cliquez sur l' bouton dans le coin supérieur gauche de la feuille de calcul pour sélectionner la feuille de calcul entière. Puis appuyez Ctrl + 1 clés pour ouvrir le Format de cellule boite de dialogue.

2. Dans le pop-up Format de cellule boîte de dialogue, décochez la case Fermé option sous la risques numériques onglet, puis cliquez sur le OK bouton. Voir la capture d'écran:

3. Sélectionnez les cellules dont vous ne souhaitez pas que le contenu soit supprimé, appuyez sur Ctrl + 1 touches pour ouvrir le Format de cellule boîte de dialogue, vérifiez à nouveau Fermé option sous la risques numériques onglet, puis cliquez sur le OK .

4. Cliquez maintenant sur Avis > Protéger la feuille, puis spécifiez et confirmez votre mot de passe dans les deux Protéger la feuille et Confirmez le mot de passe Boîtes de dialogue.

Maintenant, la feuille de calcul est protégée. Et le contenu de la cellule spécifié ne sera plus supprimé.


Empêcher la suppression de contenus de cellules spécifiques à l'aide du code VBA

Outre les deux méthodes ci-dessus, vous pouvez exécuter du code VBA pour empêcher la suppression du contenu d'une cellule spécifique dans une feuille de calcul. Veuillez faire comme suit.

1. Ouvrez la feuille de calcul qui contient le contenu de la cellule que vous ne souhaitez pas supprimer, cliquez avec le bouton droit sur l'onglet Feuille, puis cliquez sur Voir le code dans le menu contextuel.

2. Copiez et collez le code VBA ci-dessous dans la fenêtre Code du Microsoft Visual Basic pour applications fenêtre.

Code VBA: empêchez le contenu de cellule spécifique d'être supprimé dans Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not IsDate(Target(1)) Then
        Application.Undo
        MsgBox " You can't delete cell contents from this range " _
        , vbCritical, "Kutools for Excel"
    End If
ExitPoint:
    Application.EnableEvents = True
End Sub

Notes: Dans le code, A1: E17 est la plage dans laquelle le contenu de la cellule que vous empêcherez d'être supprimé. Vous pouvez modifier la gamme en fonction de vos besoins.

À partir de maintenant, lorsque vous essayez de supprimer le contenu d'une cellule de la plage A1: E17, vous obtenez un Kutools pour Excel boîte de dialogue comme ci-dessous capture d'écran, veuillez cliquer sur le OK .


Articles connexes:


Les meilleurs outils de productivité de bureau

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 e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • 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 par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets 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 des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (17)
Noté 5 hors 5 · évaluations 1
Ce commentaire a été minimisé par le modérateur sur le site
Exactement ce que je cherchais, merci pour l'aide !
Ce commentaire a été minimisé par le modérateur sur le site
ne vous inquiétez pas toujours là pour vous aider :)
Ce commentaire a été minimisé par le modérateur sur le site
Salut,

Je viens d'essayer le script VBA et bien qu'il fonctionne très bien dans la plupart des situations. Cependant, cela ne fonctionne pas lorsque vous tabulez d'une cellule modifiable dans la colonne/cellule non modifiable. Le problème se pose en ce sens qu'il affiche le message d'erreur - comme commandé - mais qu'il ne conserve pas les données saisies dans la cellule modifiable d'origine à partir de laquelle on a tabulé.

Auriez-vous un amendement au script afin qu'il accepte les données dans la cellule modifiable lorsque vous tabulez dans non modifiable?

"À votre santé"
Ce commentaire a été minimisé par le modérateur sur le site
Bonne journée,
J'ai essayé comme vous l'avez mentionné dans votre cas, mais aucune erreur ne se produit. Pourriez-vous fournir une capture d'écran de votre cas ou me dire votre version d'Office ?
Merci pour votre commentaire.
Ce commentaire a été minimisé par le modérateur sur le site
Si vous ne voulez pas regarder votre feuille ou écrire du code VBA, j'utilise une technique simple qui empêche tout remplacement sauf lorsqu'ils utilisent la touche "SUPPRIMER" (le retour arrière ne sera pas autorisé, mais la suppression est difficile à arrêter ). Ce que j'ai fait, c'est ajouter une validation des données avec les paramètres suivants :

1) Autoriser --> Liste

2) décochez "Ignorer le vide" et "liste déroulante dans la cellule"

3) Dans la source, entrez deux guillemets doubles (c'est-à-dire "")

4) Dans l'onglet Alerte d'erreur, cochez "Afficher la modification d'erreur après la saisie de données invalides", sélectionnez "Arrêter" pour le style, puis entrez un message d'erreur et une description (par exemple, Ne pas remplacer)
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour,
Merci d'avoir partagé.
Ce commentaire a été minimisé par le modérateur sur le site
Code VBA - Bon conseil merci

Existe-t-il un code VBA pour empêcher la modification ET la suppression du contenu d'une cellule spécifique dans Excel ?
La feuille de protection habituelle ne fonctionne pas pour moi car je perds la possibilité de trier les données ?

Merci d'avance - Neil
Ce commentaire a été minimisé par le modérateur sur le site
"Empêchez la suppression du contenu de cellules spécifiques en protégeant la feuille de calcul" J'ai suivi vos instructions, mais les informations sur les cellules peuvent toujours être supprimées, c'est-à-dire que la protection ne fonctionne pas. Toute solution.
Ce commentaire a été minimisé par le modérateur sur le site
Salut Ahsan,
Avez-vous appliqué la méthode VBA ?
Vous devez ajouter le VBA à la fenêtre de code de la feuille de calcul. En supposant que le contenu de la cellule que vous souhaitez protéger se trouve dans Sheet9, cliquez avec le bouton droit sur l'onglet de la feuille et sélectionnez Afficher le code dans le menu contextuel, puis copiez directement le code dans la fenêtre de code comme illustré ci-dessous.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, ce code fonctionne bien, mais la suppression de la ligne/colonne le contournera. Existe-t-il une solution à ce problème ? Bravo, David.
Ce commentaire a été minimisé par le modérateur sur le site
Salut David,
Quelle version d'Excel utilisez-vous ? J'ai essayé le code, des lignes et des colonnes entières dans la plage spécifiée ne peuvent pas être supprimées après l'application du code.
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour les informations précieuses.
Concernant le VBA ci-dessous:
Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Si l'intersection (cible, plage ("A1: E7")) n'est rien, alors quittez le sous-marin
En cas d'erreur GoTo ExitPoint
Application.EnableEvents = False
Si Non EstDate(Cible(1)) Alors
Application.Annuler
MsgBox " Vous ne pouvez pas supprimer le contenu des cellules de cette plage " _
, vbCritical, "Kutools pour Excel"
Si fin
Point de sortie :
Application.EnableEvents = True
End Sub

Ce qui précède permettra l'exécution dans une certaine plage spécifiée. Il ne permet pas l'ajout de nouvelles lignes. Existe-t-il un moyen d'ajouter de nouvelles lignes tout en conservant la même protection.
Merci et salutations
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Oussama Abou Faraj,
Après avoir essayé différentes méthodes, je n'arrive pas à le faire fonctionner. Après avoir ajouté une nouvelle ligne, la zone sera verrouillée immédiatement et la cellule nouvellement insérée ne pourra pas être modifiée.
Ce commentaire a été minimisé par le modérateur sur le site
Est-il possible de faire quelque chose de similaire au niveau du classeur ?

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Si l'intersection (cible, plage ("A1: M7000")) n'est rien, alors quittez le sous-marin
En cas d'erreur GoTo ExitPoint
Application.EnableEvents = False
Si Non EstDate(Cible(1)) Alors
Application.Annuler
MsgBox " Vous ne pouvez pas supprimer le contenu des cellules de cette plage " _
, vbCritical, "Kutools pour Excel"
Si fin
Point de sortie :
Application.EnableEvents = True
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Salut Gelu,
Voulez-vous empêcher la suppression de la plage "A1: M7000" dans toutes les feuilles de calcul du classeur en cours ?
Ce commentaire a été minimisé par le modérateur sur le site
Non, je voulais dire NE PAS autoriser la suppression (sans protéger les wks ou wkb).

C'est bien les travaux ci-dessus au niveau Wks.

S'il y a quelque chose pour le faire fonctionner au niveau wkb ce serait encore mieux (j'ai beaucoup de feuilles)

G
Ce commentaire a été minimisé par le modérateur sur le site
C'est bien. Je me demandais si c'était une option et bien sûr que c'était le cas. Merci pour les instructions très simples.

André S.
Noté 5 hors 5
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL