Bonjour
Connaitriez vous une fonction qui permette d'extraire les lettres dans une chaine de caractère. D'une certaine manière similaire à la fonction [val] qui permet d'extraire les chiffres d'une chaine de caractère
D'avance merci
Bonjour
Connaitriez vous une fonction qui permette d'extraire les lettres dans une chaine de caractère. D'une certaine manière similaire à la fonction [val] qui permet d'extraire les chiffres d'une chaine de caractère
D'avance merci
Tu aurais un exemple? parce que recuperer des lettres parmi d'autres lettres en soi y a plusieurs moyens de faire suivant ce que tu souhaites...
Bonjour volubiliss,
Je ne connais pas de telle fonction, je ne sais pas si elle existe, mais je peux t'aider à développer une fonction qui fasse ce que tu recherches.
Tu souhaites récupérer les lettres d'une chaîne de caractère ? Il faut savoir qu'une lettre a un code ASCII compris entre 97 et 122 (pour les minuscules) et entre 65 et 90 (pour les majuscules)
Il te suffit alors de créer une fonction du type
avec ChaineDeDepart la chaîne dont tu veux extraire les lettres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim Caractere as String * 1 Dim ChaineDeDepart as String, ChaineExtraite as String Dim i as Integer Dim Asc_Chr as Byte ChaineExtraite = "" For i = 1 to len(ChaineDeDepart) Then Caractere = Mid(ChaineDeDepart, i, 1) Asc_Chr = Asc(Caractere) If (Asc_Chr >= 65 And Asc_Chr <= 90) Or (Asc_Chr >= 97 And Asc_Chr <= 122) Then ChaineExtraite = ChaineExtraite & Cararactere End If Next i
Salut,
peut-on avoir un exemple du format de donnee sur lequel tu travailles stp ?
Les fonctions disponibles sont aussi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Left() Mid() Right()
merci pour vos retours
En fait il s'agit d'extraire de cellules composées de chiffres et de lettres ( d'un nombre variable) uniquement les lettres exemples de cellule ( 256AGR) (2635DG) (875RDE)
Merci pour le code je vais le tester
Bonsoir,
Je suppose qu'il n'y a pas de caractères accentués (é,à, è etc.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Function sc(ByRef maChaine As String) As String Set rationelleExp = CreateObject("vbscript.regexp") rationelleExp.Global = True rationelleExp.Pattern = "[a-zA-Z]" Set trouve = rationelleExp.Execute(maChaine) For i = 0 To trouve.Count - 1 sc = sc & trouve(i) Next i End Function
Merci JPierreM, je viens d'apprendre une nouveauté.
Ma proposition dans le même sens (après lecture)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Function sc(maChaine As String) As String Dim MonRegExp As Object Set MonRegExp = CreateObject("vbscript.RegExp") With MonRegExp .Global = True .Pattern = "[0-9]" sc = .Replace(maChaine, "") End With Set MonRegExp = Nothing End Function
bonjour,
Une autre possibilité, si j'ai bien compris la question :
bon week end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim Chaine As String Chaine = "255PR" Debug.Print Mid(Chaine, Len(Str(Val(Chaine))))
michel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager