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 supprimer les caractères non numériques des cellules dans Excel?

Supposons que vous ayez une feuille de calcul contenant beaucoup de ces données ABCD4578124YUIOHet vous ne voulez supprimer que les caractères non numériques ABCDYUIOH mais gardez les caractères numériques dans les cellules. Bien sûr, vous pouvez supprimer ces caractères un par un, mais ici vous pouvez vous débarrasser rapidement des caractères non numériques des cellules comme suit:

Supprimer les caractères non numériques avec le code VBA

Un outil pratique pour supprimer les caractères non numériques en un clic


Supprimez les caractères numériques, alphabétiques, non numériques, non imprimables ou alphanumériques des chaînes de texte:

Avec Kutools for Excel's Supprimer les caractères utilitaire, vous pouvez rapidement supprimer les caractères numériques, non numériques, alphabétiques ou non alphabétiques et ainsi de suite d'une liste de chaînes de texte que vous avez besoin.

doc supprimer les caractères non numériques 6

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


Supprimer les caractères non numériques avec le code VBA

Pour supprimer les caractères non numériques d'une plage avec le code VBA, procédez comme suit:

1. Cliquez Développeur > Visual Basic ouvrir le Microsoft Visual Basic pour les applications fenêtre. dans le Microsoft Visual Basic pour les applications fenêtre, cliquez sur insérer > Module, puis copiez et collez les codes suivants dans le module:

VBA: supprime tous les caractères non numériques

Sub RemoveNotNum()
'Updateby20131129
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

2. Puis cliquez sur le bouton pour exécuter le code, dans le pop-up KutoolsforExcel boîte de dialogue, sélectionnez une plage avec les caractères non numériques que vous souhaitez supprimer, puis cliquez sur le OK bouton. Voir la capture d'écran:

doc supprimer les caractères non numériques 1 copy

3. Ensuite, tous les caractères non numériques dans la plage sélectionnée sont supprimés.

doc supprimer les caractères non numériques 2

Si les nombres avec des points décimaux, vous pouvez utiliser le VBA suivant:

Sub RemoveNotNum()
'Updateby20131129
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

Vous pouvez voir les résultats comme ci-dessous capture d'écran montré:

doc supprimer les caractères non numériques 3


Un outil pratique pour supprimer les caractères non numériques en un clic

Pour supprimer des caractères non numériques dans une plage, Kutools for Excel's Supprimer les caractères l'utilité peut le faire en un clic.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, libre d'essayer sans limitation dans 60 jours.

Après l'installation de Kutools for Excel, s'il vous plaît faire comme ci-dessous:

1. Mettez en surbrillance la plage que vous souhaitez supprimer les caractères non numériques. Cliquez sur Kutools > Texte > Supprimer les caractères.

doc supprimer les caractères non numériques 4

2. Dans le Supprimer les caractères boîte de dialogue, vérifiez le Non numérique option dans la Supprimer les caractères section, puis cliquez sur le OK or Appliquer bouton. Et les caractères non numériques sont immédiatement supprimés de la sélection. Voir la capture d'écran:

doc supprimer les caractères non numériques 5

Cliquez pour télécharger Kutools pour Excel et essai gratuit maintenant!

Pour plus d'informations sur Supprimer les caractères de Kutools pour Excel, s'il vous plaît visitez Supprimer la description des caractéristiques des caractères.


Démonstration: supprime les caractères numériques, alphabétiques, non imprimables ou alphanumériques des cellules

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


Articles Liés:


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.
    Abi DC · 2 years ago
    HI Thanks for the coding, i am getting the syntax error highlighted on For i = 1 To Len(Rng.Value) and the debug Sub RemoveNotNum() is highlighted in yellow.. kindly advice.
  • To post as a guest, your comment is unpublished.
    usuc · 2 years ago
    The VBA works great. I modified it to always work on a column, as shown:

    For Each Cell In Range("B2:B" & ActiveSheet.UsedRange.Rows.Count)

    xOut = ""

    For i = 1 To Len(Cell.Value)

    xTemp = Mid(Cell.Value, i, 1)

    If xTemp Like "[0-9]" Then

    xStr = xTemp

    Else

    xStr = ""

    End If

    xOut = xOut & xStr

    Next i

    Cell.Value = xOut

    Next

    I also used this to sort a column by the last digit, changing the last part to Cell.Value = Right(xOut, 1) then sorting it numerically.
  • To post as a guest, your comment is unpublished.
    Naresh kumar · 3 years ago
    Send me it on my email id
    • To post as a guest, your comment is unpublished.
      samola · 2 years ago
      Hi,

      I want to use this macro but want to pre-define a range. Can you please let me know how to pre-define the range.

      Thanks,
      Samit
  • To post as a guest, your comment is unpublished.
    Cole · 4 years ago
    Just wanted to let you know that if the string starts with zero(s), or starts with letters, followed by zero(s), followed by the rest of the string this will remove all of the beginning zeroes. This is weird because it doesn't remove the zero(s) if they are between other non-zero numbers within the string, only if they start the string or are the first numbers after the initial letters in a string.

    Example.

    0060100 would come out as 60100

    PFF057726 would come out as 57726.

    Let me know if you have an explanation for this and can think of a solution. Thank you.
  • To post as a guest, your comment is unpublished.
    Roger · 4 years ago
    Thanx Guys for such a nice work. The script is awesome and it worked for. Keep it up guys.
  • To post as a guest, your comment is unpublished.
    Easter2015 · 4 years ago
    Use this Formaula for replacing the existing character with the new one
    =SUBSTITUTE(text,old_text,new_text,[instance_num])
    for ex-=SUBSTITUTE(TRIM(G1),"/","")
    Wish U all Happy Easter 2015
  • To post as a guest, your comment is unpublished.
    amanda · 5 years ago
    I received an error when I hit the > run button in the developer:

    Compile Error:
    Expected:end of statement


    and the word "non" in non-numeric is highlighted
  • To post as a guest, your comment is unpublished.
    Daniel · 5 years ago
    Wow. that worked , exactly what I needed.

    Thanks,
  • To post as a guest, your comment is unpublished.
    Julie Hodnett · 5 years ago
    Awesome Worked GREAT!!!!!!!!
  • To post as a guest, your comment is unpublished.
    Bryan Steven · 5 years ago
    wouldn't be better to replace the input-box method by just setting
    WorkRng like this:
    Set WorkRng = Intersect(ActiveSheet.UsedRange, Selection)
    that way if user select a entire column it wouldn't generate any error.
  • To post as a guest, your comment is unpublished.
    jo · 5 years ago
    thankyou worked well
  • To post as a guest, your comment is unpublished.
    JW · 6 years ago
    sample code for comments