[Résolu] Chaîne de caractères

famu

XLDnaute Occasionnel
Bonjour à tous,
Je n'arrive pas à récupérer, via une variable, le chiffre dans une chaîne de caractère :
Exemple : rrrr 11 (je souhaite récupérer le chiffre 11)

For i = 1 To Len([a7])
x = Val(Mid([a7], i, 2))
If x <> 0 Then
y = x
Exit For
End If
Next

Cela fonctionne si il n'y a pas d'espace (rrrr11)
Le chiffre peut être 1 unité (rrrr 3) ou dizaine (rrrr 15).

Merci pour votre aide,
Famu
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Chaîne de caractères

Bonjour.

Essayez comme ça :
VB:
Dim Z As String, L As Long, X As Double
Z = [A7].Value
For L = 2 To 1 Step -1
   Z = Right$(Z, L): If IsNumeric(Z) Then Exit Do
   Next L
X = Z ' Remarque: plante s'il n'y a aucun chiffre à la fin.

Par formule:
Code:
=DROITE(A7;2-ESTERREUR(DROITE(A7;2)+0))+0
ou bien:
Code:
=DROITE(A7;ESTNUM(DROITE(A7;2)+0)+1)+0
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : [Résolu] Chaîne de caractères

Bonjour à tous

Dans votre exemple rrrr 11 votre code ne vous donnera pas 11 comme prévu, mais 1 !

Il faudrait modifier
Code:
If IsNumeric(x) Then
  y = Val(Mid([a7], i))
  Exit For
End If
en
Code:
If IsNumeric(x) Then
  y = y & Val(Mid([a7], i))
End If

et sans doute à transformer y en numérique s'il est utilisé pour des calculs.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 654
Messages
2 090 564
Membres
104 577
dernier inscrit
GOGNAN