Extraite QUE les lettres .....

Le
SylVBA
Bsr toutes & tous,

Jai trouv il y a quelques temps (oups je ne connais pas lauteur de
ce joli code sorry !) une fonction qui me permet dextraire les
nombres dune chaine

Par exemple : Med231Orthopleis me donne 231 et cest parfait !

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

Je cherche maintenant linverse, c'est--dire une autre fonction qui
me donne la possibilit dextraite la chaine de caractres sans les
chiffres et en conservant lordre des lettres et les Maj/Min

Par ex : Med231Orthopleis donnerait : MedOrthopleis

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

Voici la formule Chiffre (et par la mme 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 soire, au plaisir de vous lire

SylVBA
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #6777391
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" 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
MichDenis
Le #6778001
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"
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
SylVBA
Le #6777371
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"
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" 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


SylVBA
Le #6777921
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"
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"
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


Fredo P
Le #6779231
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"
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"
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




MichDenis
Le #6781431
"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"
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"
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"
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




Fredo P
Le #6782571
"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 !

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


Publicité
Poster une réponse
Anonyme