Passer au contenu principal

Comment empêcher la saisie de caractères spéciaux dans Excel?

Dans certains cas, nous voulons simplement entrer des lettres ou des chiffres dans les cellules et éviter de taper les caractères spéciaux, tels que @ # $% & et ainsi de suite. Existe-t-il des fonctions dans Excel pour empêcher l'entrée de caractères spéciaux lorsque nous insérons des valeurs?

Empêcher la saisie de caractères spéciaux avec la validation des données

Empêcher la saisie de caractères spéciaux avec le code VBA

Empêcher la saisie de caractères spéciaux avec Kutools for Excel bonne idée3


Empêcher la saisie de caractères spéciaux avec la validation des données

La validation des données d'Excel peut vous permettre de n'entrer que les valeurs alphanumériques. Veuillez procéder comme suit:

1. Sélectionnez une plage dans laquelle vous souhaitez empêcher la saisie de caractères spéciaux.

2. Puis clique En temps réel > Validation des données > Validation des données, voir capture d'écran:

doc-prévenir-caractères-1

3. Dans le Validation des données boîte de dialogue, cliquez sur Paramètres onglet, et choisissez Coutume du Autoriser liste déroulante, puis entrez cette formule =ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))) into the Laits en poudre zone de texte, voir capture d'écran:

Remarque:A1 indique la première cellule de votre plage sélectionnée (de gauche à droite).

doc-prévenir-caractères-1

4. Puis clique OK pour fermer cette boîte de dialogue, et maintenant, lorsque vous entrez des valeurs qui contiennent les caractères spéciaux dans la colonne spécifiée, vous avez appliqué l'option, vous obtiendrez le message d'avertissement suivant.

doc-prévenir-caractères-1


Empêcher la saisie de caractères spéciaux avec le code VBA

Le code VBA suivant peut également vous aider à empêcher les caractères spéciaux lors de la saisie des valeurs de texte.

1. Maintenez le ALT + F11 clés, et il ouvre le Fenêtre Microsoft Visual Basic pour Applications.

2. Ensuite, choisissez votre feuille de calcul utilisée à gauche Explorateur de projets, double-cliquez dessus pour ouvrir le Module, puis copiez et collez le code VBA suivant dans le vide Module:

Code VBA: empêche la saisie de caractères spéciaux dans Excel

Private Const FCheckRgAddress As String = "A1:A100"
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140905
    Dim xChanged As Range
    Dim xRg As Range
    Dim xString As String
    Dim sErrors As String
    Dim xRegExp As Variant
    Dim xHasErr As Boolean
    Set xChanged = Application.Intersect(Range(FCheckRgAddress), Target)
    If xChanged Is Nothing Then Exit Sub
    Set xRegExp = CreateObject("VBScript.RegExp")
    xRegExp.Global = True
    xRegExp.IgnoreCase = True
    xRegExp.Pattern = "[^0-9a-z]"
    For Each xRg In xChanged
        If xRegExp.Test(xRg.Value) Then
            xHasErr = True
            Application.EnableEvents = False
            xRg.ClearContents
            Application.EnableEvents = True
        End If
    Next
    If xHasErr Then MsgBox "These cells had invalid entries and have been cleared:"
End Sub

doc-prévenir-caractères-1

Notes: Dans le code ci-dessus, vous pouvez modifier la plage A1: A100 of Private Const FCheckRgAddress As String = "A1: A100" script à votre propre plage que vous souhaitez empêcher les caractères spéciaux.

3. Puis enregistrez et fermez ce code, et maintenant, lorsque vous entrez des valeurs de texte avec des caractères spéciaux dans la plage A1: A100, votre valeur sera effacée immédiatement et vous pouvez obtenir le message d'avertissement suivant.

doc-prévenir-caractères-1


Empêcher la saisie de caractères spéciaux avec Kutools for Excel

En fait, si vous avez Kutools for Excel - un outil pratique et multifonctionnel, vous pouvez rapidement éviter de taper des caractères spéciaux dans une sélection avec son Empêcher la frappe utilitaire par un chèque.

Kutools for Excel, avec plus de 300 fonctions pratiques, rend vos travaux plus faciles. 

Après l'installation de Kutools for Excel, veuillez faire comme ci-dessous :(Téléchargement gratuit Kutools for Excel Maintenant!)

1. Sélectionnez une sélection pour laquelle vous souhaitez empêcher la saisie de caractères spéciaux, puis cliquez sur Kutools > Empêcher la frappe > Empêcher la frappe. Voir la capture d'écran:
doc empêcher les caractères 10

2. dans le Empêcher la frappe boîte de dialogue, vérifier Empêcher la saisie de caractères spéciaux option. Voir la capture d'écran:
doc empêcher les caractères 7

3. Cliquez Ok, et une boîte de dialogue apparaît pour vous rappeler qu'elle supprimera la validation des données si vous appliquez cet utilitaire et cliquez sur Oui pour aller à la boîte de dialogue suivante, cela vous rappellera que l'utilitaire a travaillé dans la section. voir capture d'écran:
doc empêcher les caractères 8

4. Cliquez OK pour fermer la boîte de dialogue, et à partir de maintenant, une boîte de dialogue d'avertissement apparaît lorsque vous essayez d'entrer un caractère spécial dans la sélection.
doc empêcher les caractères 9

Pointe.Si vous souhaitez arrêter de taper des valeurs en double dans une colonne, essayez d'utiliser le Kutools for Excel's Empêcher la duplication comme indiqué dans la capture d'écran suivante. C'est une fonction complète sans limitation dans 30 journées, s'il vous plaît télécharger et avoir un essai gratuit maintenant.

doc empêcher les doublons doc kutools empêche de taper 2


Articles Liés:

Comment empêcher la saisie de valeurs avec des espaces dans Excel?

Comment éviter les entrées en double dans une colonne dans Excel?

Meilleurs outils de productivité bureautique

Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Boostez vos compétences Excel avec Kutools for Excelet faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel Offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

onglet kte 201905


Office Tab Apporte une interface à onglets à Office et facilite grandement 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!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Pessoal, segue formul em portugês com a quantidade de caracteres limitada a 7:

=E(ÉNÚM(SOMARPRODUTO(LOCALIZAR(EXT.TEXTO(A1;LIN(INDIRETO("1:"&NÚM.CARACT(A1)));1);"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ ")));NÚM.CARACT(A1)<8)
This comment was minimized by the moderator on the site
Excelente solucion. como agregas las comillas (") para que sean admitidas?
This comment was minimized by the moderator on the site
Hello herber,

Glad to help. Using the first method, you can use this formula in data validation:
=ISNUMBER(SUMPRODUCT(SEARCH(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"&CHAR(34))))

The CHAR function takes the ASCII value and returns the corresponding character value. The ASCII value for a double quote is 34. So a double quote will be allowed. Please have a try.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
How to repeat this in other columns?
This comment was minimized by the moderator on the site
When I use your VBA code in excel 2013 it will open up debug option and freezes
This comment was minimized by the moderator on the site
Hi, WilY, if it pops out a dialog as below screenshot shown, just click Yes then OK to enable the code. This issue appears in Excel 2016, too.
This comment was minimized by the moderator on the site
What if i need to prevent in a single cell typing certain characters in combination with length of the text?

For example, i want to prevent the text to be between 5-16 caharacters in comination with certain character prevention? Any advice?
This comment was minimized by the moderator on the site
Maybe you can try the Data Validation function to limit the text length. See screenshot:
This comment was minimized by the moderator on the site
The solution with Data Validation is almost perfect. But I'm able to put "*" character the such protected field. Any advice? Many thanks Pavel
This comment was minimized by the moderator on the site
Instead of SEARCH function try using FIND: =ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")))
This comment was minimized by the moderator on the site
how to set length limit ? i mean if i want to set only 12 character or number
This comment was minimized by the moderator on the site
Hello, raj,
To solve your problem, please apply the below formula:
=AND(ISNUMBER(SUMPRODUCT(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"))),LEN(A1)=12)


Please have a try, hope it can help you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations