RE RYU
pas de mess technique par MP
pour ton problème
il y a plusieurs techniques
en voici quelques unes le nom des fonctions est explicite
methode avec la fonction replace de vbscript regexp
methode avec la fonction execute de vbscript.regexp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub test() Dim txt As String, Txt2 As String txt = UCase("TOTO_01_REL.Txt") MsgBox chiffre_seulement(txt) End Sub Function chiffre_seulement(txt As String) With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "[a-z-A-Z-_?.]": chiffre_seulement = .Replace(txt, ""): End With End Function
apres si ta chaine est totalement numeric ou string c'est simple avec VBA
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub test2() Dim txt As String, Txt2 As String txt = UCase("TOTO_01_REL.Txt") MsgBox chiffre_seulementbis(txt) End Sub Function chiffre_seulementbis(txt As String) With CreateObject("VBScript.RegExp"): .Global = True: .Pattern = "(\d+)": Set Matches = .Execute(txt): chiffre_seulementbis = Matches(0): End With End Function
apres si tu veut savoir avec VBA si il elle est string et si il y a quand meme des numériques
Code : Sélectionner tout - Visualiser dans une fenêtre à part if isnumeric(chaine) then ......' si elle est numerique ??.
voila t'a tout
Code : Sélectionner tout - Visualiser dans une fenêtre à part if isnumeric(chaine) =false and chaine like "[0-9]" then msgbox "cette chaine n'est pas numerique mais comporte des chiffre "
Partager