Extraite QUE les lettres .....

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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