enlever caracteres alphabetique d'une chaine alphanumerique

nsqualli

XLDnaute Junior
Bonjour a tous,

SVP je cherche une fonction qui m'enlèvera les caracteres alphabetique d'une chaine alphanumérique.
par exemple je donne la chaine "A123B2" et ça me retourne "1232".

Merci d'avance.
 

mutzik

XLDnaute Barbatruc
Re : enlever caracteres alphabetique d'une chaine alphanumerique

bonjour à tous

comme j'étais en train de le faire ...
 

Pièces jointes

  • xld.xlsm
    14.9 KB · Affichages: 461
  • xld.xlsm
    14.9 KB · Affichages: 478
  • xld.xlsm
    14.9 KB · Affichages: 478
  • xld.xls
    34 KB · Affichages: 470
  • xld.xls
    34 KB · Affichages: 502
  • xld.xls
    34 KB · Affichages: 500
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonjour à tous

Cf une solution en pièce jointe, avec une formule, valable pour des chaines de caractères de moins de 11 caractères.

@ plus
 

Pièces jointes

  • essai sans lettre.xls
    18 KB · Affichages: 625

vbacrumble

XLDnaute Accro
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Re

Une solution avec RegExp

avec une fonction VBA personnalisée

Code:
Function numseul(r As Range)
Dim chiffres As String
Dim oReg As Object
Set oReg = CreateObject("vbscript.regexp")
With oReg
.Global = True
.IgnoreCase = True
.Pattern = "\D"
chiffres = .Replace(r.Text, "")
End With
numseul = Val(chiffres)
End Function

A+
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonjour,

http://boisgontierjacques.free.fr/fichiers/fonctionsperso/Fonction_NumeriqueChaine2.xls

Code:
Function NumChaine(chaine)
  Application.Volatile
  TempChaine = Trim(Application.Substitute(chaine, ",", "."))
  Temp = ""
  For i = 1 To Len(TempChaine)
    c = Mid(TempChaine, i, 1)
    If c >= "0" And c <= "9" Or c = "." Then Temp = Temp & c
  Next i
  NumChaine = Val(Temp)
End Function

JB
 
Dernière édition:

nsqualli

XLDnaute Junior
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Merci pour vos reponses, mais j'ai fais la macro suivante, quand j'ai pas trouvé de fonction qui fait ce traitement:
Code:
Function RetournerNumRef(Reference1)
Dim i As Byte, Nb As Byte
Dim Cible As String, Resultat As String
Dim Nombre As Double

Cible = Reference1

For i = 1 To Len(Cible)
    If IsNumeric(Mid(Cible, i, 1)) Then
        Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1))
        Nb = Nb + 1
        Resultat = Resultat & Nombre
        i = i + Len(Str(Nombre)) - 1
    End If
Next

RetournerNumRef = Resultat

End Function

bon courage
 

Xion

XLDnaute Junior
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonjour à tout le forum,


Je me sert de ce post car il correspond presque à mon besoin.

Je souhaiterais savoir si il est possible de detecter un caractère "lettre" dans une chaine aplhanumerique.

par Ex : 00xAA8

Comment detecter le caractère "x" dans une cellule d'une plage ???

Si quelqu'un a une idée, d'avance merci pour vos réponses.
 

Efgé

XLDnaute Barbatruc
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonjour à tous
Xion, regardez ce post. En changeant :
Code:
  If IsNumeric(Mid(Cell.Offset(0, -1), k, 1)) Then Val = k: Exit For
Par
Code:
  If Not IsNumeric(Mid(Cell.Offset(0, -1), k, 1)) Then Val = k
Vous devriez trouver l'emplacement des lettres à l'intérieur d'une chaine.
Bon courage
Cordialement
 

Xion

XLDnaute Junior
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonsoir Efgé,


Tout d'abord merci de ta réponse, mais je ne parviens pas à utiliser le code du post que tu as mentionné (je ne le comprend pas vraiment à vrai dire...)

Je te mets en pièce jointe un fichier exemple de mon code et de se que je souhaites réliser avec.

J'ai une feuille de noms qui se répètent et je souhaite faire un calcul (dont les résultats sont affichés sur une autre feuille) MIN, MAX et AVERAGE pour chaque nom.

Mon problème vient des caractères alphanumérique qui me font planter mon code...

Merci pour ton aide.
 

Pièces jointes

  • XionAlfa.zip
    11.9 KB · Affichages: 193

Efgé

XLDnaute Barbatruc
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonsoir Xion,
Si j"ai bien compris, il faut utiliser la fonction ESTNUM. Pour le MAX (par exemple):
Code:
=SI(ESTNUM(LC(-2):L(23)C(-2));MAX(LC(-2):L(23)C(-2));"")
Après pour le tableau d'arrivé, je pense qu'il faut utiliser un SOMMEPROD, mais je ne le maitrise pas.
Si un formuliste passe par là....
Cordialement
 

Jocelyn

XLDnaute Barbatruc
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonjour le Forum,
Bonjour Xion, Efgé :),

Un essai en fichier joint, mais pas sur d'avoir tout compris

Jocelyn
 

Pièces jointes

  • XionAlfa.xls
    38 KB · Affichages: 227

Xion

XLDnaute Junior
Re : enlever caracteres alphabetique d'une chaine alphanumerique

Bonsoir Efgé, Jocelyn,


Je ne pourrais tester la solution proposée par Efgé que demain, mais je parviens avec mon code à trouver le min, max et l'average pour chaque nom de la liste sauf pour ceux ayant des caracteres "lettres" au milieu de chiffres (ce qui est normal).

Ce que je souhaites, c'est de pouvoir scanner le contenu de chaque cellule d'une plage et d'identifier si il y a des lettres dans ce contenu.

Je pourrais ensuite mettre une condition qui ne fera pas de calcul sur cette valeur (donc aucun plantage de code en assayant de faire la moyenne sur "AAxx3F") et de passer à la cellule suivante et de scanner jusqu'au bout de la plage.

Je ne sais pas si cela est faisable par code VBA...

En tout cas merci pour votre aide et votre réactivité !!!
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 846
dernier inscrit
Silhabib