Supprimer toutes les lettres dans une case

Résolu/Fermé
Poker1 - 29 avril 2008 à 21:27
 poker1 - 2 mai 2008 à 00:48
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 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 30 novembre 2011 76
29 avril 2008 à 21:31
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
Le format change....
0
coco49rico Messages postés 92 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 30 novembre 2011 76
29 avril 2008 à 22:04
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
lol
ET oui entre 10 et 11 ... Hélas
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 avril 2008 à 09:11
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
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 avril 2008 à 14:41
re,

1/ tout à fait

2/ Non, mais ca pourrait se faire par macro... je regarde et te dis.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
30 avril 2008 à 15:14
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
Ok Super

Merci pour ton aide.
Bien pratique cette macro.

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

Encore Merci
0