Isnumeric

bonjour,

par macro

en colonne A si une cellule contient uniquement des chiffres est il possible de supprimer les espaces de ces cellules?

je peine a sortir une macro qui fait le job...

merci de votre aide

bonsoir,

essaie ceci

Sub test()
Dim c As Range
For Each c In range("a1:" & range("a" & rows.count).end(xlup).address)
r = Replace(c, " ", "")
If IsNumeric(r) Then
 c = r
End If
Next
End Sub

bonjour h2so4,

si une cellule contient un nombre comme 128 652 cela fonctionne

mais cela ne fonctionne pas avec une cellule qui contient 464 65456 56

as tu une idée ?

bonsoir,

voir si ceci te convient mieux

Sub test()
Dim c As Range
For Each c In Range("a1:" & Range("a" & Rows.Count).End(xlUp).Address)
r = Replace(c, " ", "")
If IsNumeric(r) Then
 c.NumberFormat = "@"
 c = r
End If
Next
End Sub

aie cela ne prend pas

j'ai toujours des cellules avec leurs espaces.

même avec le format texte

exemple 66630131 331 254


quand il y a trop de chiffres , je crois que cela ne prend pas

je joint un fichier

9classeur1.zip (8.54 Ko)

bonsoir,

ton caractère espace est un caractère spécial

Sub test()
    Dim c As Range
    Dim r As String
    For Each c In Range("a1:" & Range("a" & Rows.Count).End(xlUp).Address)
        r = Application.Clean(Replace(Replace(c, " ", ""), Chr(160), ""))
        For i = 1 To Len(r)
            If Not (Mid(r, i, 1) Like "#") Then
             Exit Sub
            End If
        Next i
        c.NumberFormat = "@"
        c = r
    Next
End Sub

merci mais toujours le problème

avec le fichier que j'ai mis cela persiste

as tu vu le fichier ?

même avec remplacer espace cela ne prend pas

donc ce n'est pas un espace qu'est ce donc ??

Bonsoir,

je n'avais pas vu le fichier.

c'est ma logique qui n'était pas bonne.

Sub test()
    Dim c As Range
    Dim r As String
    For Each c In Range("a1:" & Range("a" & Rows.Count).End(xlUp).Address)
        r = Application.Clean(Replace(Replace(c, " ", ""), Chr(160), ""))
        numerique = True
        For i = 1 To Len(r)
            If Not (Mid(r, i, 1) Like "#") Then
             numerique = False
             Exit For
            End If
        Next i
        If numerique Then
        c.NumberFormat = "@"
        c = r
        End If
    Next
End Sub

merci !!

tu n'as pas a rougir au vu de toute l'aide que tu apportes !!

c'est nickel

merci et bonne soirée

Rechercher des sujets similaires à "isnumeric"