Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
enlever caracteres alphabetique d'une chaine alphanumerique
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
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".
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
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
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
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...
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é !!!
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD