Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraite QUE les lettres .....

7 réponses
Avatar
SylVBA
Bsr =E0 toutes & tous,

J=92ai trouv=E9 il y a quelques temps (oups je ne connais pas l=92auteur de
ce joli code sorry !) une fonction qui me permet d=92extraire les
nombres d=92une chaine

Par exemple : Med231Orthopleis me donne 231 et c=92est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l=92inverse, c'est-=E0-dire une autre fonction qui
me donne la possibilit=E9 d=92extraite la chaine de caract=E8res sans les
chiffres et en conservant l=92ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilis=E9e dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la m=EAme occasion merci =E0 son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i =3D 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >=3D 48 And Asc(Mid(Valtexte, i, 1)) <=3D 57
Then _
Chiffre =3D Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci =E0 vous et bonne soir=E9e, au plaisir de vous lire

SylVBA

7 réponses

Avatar
Philippe.R
Bonsoir,

Ceci devrait pouvoir convenir :

Function MTexte(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) < 48 Or Asc(Mid(Valtexte, i, 1)) > 57 Then _
MTexte = MTexte & Mid(Valtexte, i, 1)
Next
End Function

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"SylVBA" a écrit dans le message de
news:
Bsr à toutes & tous,

J’ai trouvé il y a quelques temps (oups je ne connais pas l’auteur de
ce joli code sorry !) une fonction qui me permet d’extraire les
nombres d’une chaine

Par exemple : Med231Orthopleis me donne 231 et c’est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l’inverse, c'est-à-dire une autre fonction qui
me donne la possibilité d’extraite la chaine de caractères sans les
chiffres et en conservant l’ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilisée dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la même occasion merci à son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >= 48 And Asc(Mid(Valtexte, i, 1)) <= 57
Then _
Chiffre = Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci à vous et bonne soirée, au plaisir de vous lire

SylVBA
Avatar
MichDenis
Il y a aussi ceci :

Sub test()
MsgBox SansChiffre("Med231Orthopleis")
End Sub

'------------------
Function SansChiffre(Exp As String)
For a = 0 To 9
Exp = Replace(Exp, CStr(a), "")
Next
SansChiffre = Exp
End Function
'-------------------




"SylVBA" a écrit dans le message de news:

Bsr à toutes & tous,

J’ai trouvé il y a quelques temps (oups je ne connais pas l’auteur de
ce joli code sorry !) une fonction qui me permet d’extraire les
nombres d’une chaine

Par exemple : Med231Orthopleis me donne 231 et c’est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l’inverse, c'est-à-dire une autre fonction qui
me donne la possibilité d’extraite la chaine de caractères sans les
chiffres et en conservant l’ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilisée dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la même occasion merci à son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >= 48 And Asc(Mid(Valtexte, i, 1)) <= 57
Then _
Chiffre = Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci à vous et bonne soirée, au plaisir de vous lire

SylVBA
Avatar
SylVBA
Bonsoir Philippe R.

Merci à toi, cela fonctionne parfaitement, j'avais essayé la même
piste mais je n'avais pas pensé au Or à la place du And....

Et pourtant je ne suis pas blonde !!

Merci à vous nos sauveurs

Bonne soirée et à bientôt

Syl VBA


On 4 juin, 20:12, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
Bonsoir,

Ceci devrait pouvoir convenir :

Function MTexte(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) < 48 Or Asc(Mid(Valtexte, i, 1)) > 57 Then _
MTexte = MTexte & Mid(Valtexte, i, 1)
Next
End Function

--
Avec plaisirhttp://dj.joss.free.fr/trombine.htmhttp://jacxl.free.fr/mpfe/t rombino.html
Philippe.R
Pour se connecter au forum :http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"SylVBA" a écrit dans le message denews:3f
Bsr à toutes & tous,

J’ai trouvé il y a quelques temps (oups je ne connais pas l’auteur d e
ce joli code sorry !) une fonction qui me permet d’extraire les
nombres d’une chaine

Par exemple : Med231Orthopleis me donne 231 et c’est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l’inverse, c'est-à-dire une autre fonction qui
me donne la possibilité d’extraite la chaine de caractères sans les
chiffres et en conservant l’ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilisée dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la même occasion merci à son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >= 48 And Asc(Mid(Valtexte, i, 1)) <= 57
Then _
Chiffre = Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci à vous et bonne soirée, au plaisir de vous lire

SylVBA


Avatar
SylVBA
Bonsoir et merci Michdenis

Elle est très courte et efficace ta fonction, super !!

C'est toujours un honneur de pouvoir intégrer du "Michdenis" dans mes
codes

Bonne soirée à toi et à Philippe

Syl VBA



On 4 juin, 20:25, "MichDenis" wrote:
Il y a aussi ceci :

Sub test()
    MsgBox SansChiffre("Med231Orthopleis")
End Sub

'------------------
Function SansChiffre(Exp As String)
For a = 0 To 9
   Exp = Replace(Exp, CStr(a), "")
Next
SansChiffre = Exp
End Function
'-------------------

"SylVBA" a écrit dans le message de news:

Bsr à toutes & tous,

J’ai trouvé il y a quelques temps (oups je ne connais pas l’auteur d e
ce joli code sorry !) une fonction qui me permet d’extraire les
nombres d’une chaine

Par exemple : Med231Orthopleis me donne 231 et c’est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l’inverse, c'est-à-dire une autre fonction qui
me donne la possibilité d’extraite la chaine de caractères sans les
chiffres et en conservant l’ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilisée dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la même occasion merci à son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >= 48 And Asc(Mid(Valtexte, i, 1)) <= 57
Then _
Chiffre = Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci à vous et bonne soirée, au plaisir de vous lire

SylVBA


Avatar
Fredo P
Bonjour Denis
Ta Propos. couine en XL97 . Je me suis donc permis:

Sub test()
MsgBox SansChiffre("Med231Orthopleis")
End Sub

Function SansChiffre(Exp As String)
[A1] = Exp
Set C = [A1]
For a = 0 To 9
C.Replace CStr(a), ""
Next
SansChiffre = [A1]
[A1].ClearContents
End Function

"MichDenis" a écrit dans le message de news:

Il y a aussi ceci :

Sub test()
MsgBox SansChiffre("Med231Orthopleis")
End Sub

'------------------
Function SansChiffre(Exp As String)
For a = 0 To 9
Exp = Replace(Exp, CStr(a), "")
Next
SansChiffre = Exp
End Function
'-------------------




"SylVBA" a écrit dans le message de news:

Bsr à toutes & tous,

J'ai trouvé il y a quelques temps (oups je ne connais pas l'auteur de
ce joli code sorry !) une fonction qui me permet d'extraire les
nombres d'une chaine

Par exemple : Med231Orthopleis me donne 231 et c'est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l'inverse, c'est-à-dire une autre fonction qui
me donne la possibilité d'extraite la chaine de caractères sans les
chiffres et en conservant l'ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilisée dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la même occasion merci à son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >= 48 And Asc(Mid(Valtexte, i, 1)) <= 57
Then _
Chiffre = Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci à vous et bonne soirée, au plaisir de vous lire

SylVBA




Avatar
MichDenis
"Replace" est une méthode de la bibliothèque "VBA" qui a été
intégré à excel avec la version Excel 2000.

Avec une version Excel 97, tu peux simplement remplacer
Replace par -> Application.Substitute dans la fonction proposée
c'est suffisant !



"Fredo P" a écrit dans le message de news:

Bonjour Denis
Ta Propos. couine en XL97 . Je me suis donc permis:

Sub test()
MsgBox SansChiffre("Med231Orthopleis")
End Sub

Function SansChiffre(Exp As String)
[A1] = Exp
Set C = [A1]
For a = 0 To 9
C.Replace CStr(a), ""
Next
SansChiffre = [A1]
[A1].ClearContents
End Function

"MichDenis" a écrit dans le message de news:

Il y a aussi ceci :

Sub test()
MsgBox SansChiffre("Med231Orthopleis")
End Sub

'------------------
Function SansChiffre(Exp As String)
For a = 0 To 9
Exp = Replace(Exp, CStr(a), "")
Next
SansChiffre = Exp
End Function
'-------------------




"SylVBA" a écrit dans le message de news:

Bsr à toutes & tous,

J'ai trouvé il y a quelques temps (oups je ne connais pas l'auteur de
ce joli code sorry !) une fonction qui me permet d'extraire les
nombres d'une chaine

Par exemple : Med231Orthopleis me donne 231 et c'est parfait !

Msgbox chiffre(Med231Orthopleis) me donne bien 231 dans la boite de
dialogue

Je cherche maintenant l'inverse, c'est-à-dire une autre fonction qui
me donne la possibilité d'extraite la chaine de caractères sans les
chiffres et en conservant l'ordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

Cette fonction sera utilisée dans une proc. Vba et pas comme formule
de feuille de calcul (pour info)

Voici la formule Chiffre (et par la même occasion merci à son
auteur !)

Function Chiffre(Valtexte As String)
Dim MyValue, i
For i = 1 To Len(Valtexte)
If Asc(Mid(Valtexte, i, 1)) >= 48 And Asc(Mid(Valtexte, i, 1)) <= 57
Then _
Chiffre = Val(Chiffre & Mid(Valtexte, i, 1))
Next
End Function

Par avance je suis certaine que vous allez trouver cela

Merci à vous et bonne soirée, au plaisir de vous lire

SylVBA




Avatar
Fredo P
"MichDenis" a écrit dans le message de news:

"Replace" est une méthode de la bibliothèque "VBA" qui a été
intégré à excel avec la version Excel 2000.

Avec une version Excel 97, tu peux simplement remplacer
Replace par -> Application.Substitute dans la fonction proposée
c'est suffisant !

Ou bien, ma tricherie proposé dans le post précédent.