Supprimer toutes les lettres dans une case

Résolu
Poker1 -  
 poker1 -
Bonjour,

J'exporte des données via internet dans excel et j'aimerais supprimer les lettres dans certaines cases.
Ex : 1a0005e777 =10005777

Merci
A voir également:

8 réponses

coco49rico Messages postés 92 Statut Membre 76
 
Bonjour,

Si le format des données ne change pas, une solution est de taper la fonction suivante (en considérant que les données sont dans la case C15) :
=GAUCHE(C15;1)&STXT(C15;3;4)&DROITE(C15;3)

Rico
0
Poker1
 
Le format change....
0
coco49rico Messages postés 92 Statut Membre 76
 
Bonsoir,

Question n°2 du schmilblick ?
Le nombre de caractères est toujours de 10 ?
En imbriquant des conditions SI et en vérifiant si c'est du texte ou un chiffre,il y a possibilité de filtrer (dans la limititation de 7 imbrications de SI)

Rico
0
Poker1
 
lol
ET oui entre 10 et 11 ... Hélas
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour à tous

Cette fonction personnalisée t'enlève tout ce qui n'est pas chiffre dans une cellule

Function extrait_nbre(ByRef texto As String) As Double
Dim reg As Object
Dim extraction As Object

' instancie
Set reg = CreateObject("vbscript.regexp")

' travaille sur toute la cellule
reg.Global = True
' définit le modèle (caractères "digitaux" à N chiffres)
reg.Pattern = "(\d?\d?\d)|(,)"

' éxécute l'extraction svt modèle (collection des digits...)
Set extraction = reg.Execute(texto)
' concaténète les membres de la collection "extraction"
For Each digit In extraction
extrait_nbre = extrait_nbre & (digit.Value)
Next digit

Set extraction = Nothing
Set reg = Nothing
End Function


A+
Michel

PS: texto peut être la référence d'une cellule
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
poker1
 
Merci pour la macro

Si j'ai bien compris je remplace "texto" par A1
Est il possible de mettre A2:DM1800 car j'ai enormement de donné...
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
re,

1/ tout à fait

2/ Non, mais ca pourrait se faire par macro... je regarde et te dis.
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Re-re,

Tu ajoutes cette sub en dessous de la fonction extrait_nombre

Sub extraire()
Dim tablo()
Dim valeur As String
Dim cptrX As Long, cptrY As Long

tablo = Range("A2:DM1800").Value
For cptrX = LBound(tablo, 1) To UBound(tablo, 1)
For cptrY = LBound(tablo, 2) To UBound(tablo, 2)
valeur = tablo(cptrX, cptrY)
tablo(cptrX, cptrY) = extrait_nbre(valeur)
Next cptrY
Next cptrX
Application.ScreenUpdating=False
Range("A2:DM1800").Value = tablo

End Sub

Michel
0
poker1
 
Ok Super

Merci pour ton aide.
Bien pratique cette macro.

@+
0
poker1
 
Je ne trouve pas comment mettre le statut "Problème Résolu" ???

Encore Merci
0