Extraire une nombre d'une phrase

Titi_Malembourg

XLDnaute Occasionnel
Hello !
Comment feriez-vous pour extraire un nombre d'une phrase, comme par exemple :
'j'ai 3 frères' donnerait 3.
Possible or not possible ?
 

Paladin

XLDnaute Junior
J'ai un problème similaire : dans plusieurs cases d'une même colonne, j'ai stocké des 'A00X' (où X est un nombre) et je voudrai extraire ce X (en gros supprimer le A00, sachant qu'il peut y avoir A010 et A004, donc un ou deux '0').

Merci à celui qui sait faire ça
 

mutzik

XLDnaute Barbatruc
Bonjour Titi et Paladin

une réponse dans le fichier attaché

bonne continuation avec excel et [file name=extraction_20050627150135.zip size=6858]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/extraction_20050627150135.zip[/file]
 

Pièces jointes

  • extraction_20050627150135.zip
    6.7 KB · Affichages: 146

Hellboy

XLDnaute Accro
Bonjour a tous

Une alternative au code a jmps, pas du béton mais pas sipire quand même:

Code:
Sub ChiffresDunTexte()
    Dim tablStrTexte() As String
    Dim intChar As Integer
    
    tablStrTexte = Split(Range('A1').Value, Chr(32)) 'Séparer la prase avec le caractère 'espace'
    For intChar = 0 To UBound(tablStrTexte)
    If IsNumeric((intChar)) Then
            MsgBox tablStrTexte(intChar)
    End If
    Next intChar
    MsgBox 'Pas de nombre.'
End Sub

p.s. Tous les nombres présent seront trouvés

Message édité par: Hellboy, à: 27/06/2005 15:29

Message édité par: Hellboy, à: 27/06/2005 15:30
 
M

Morgane

Guest
tu as la fonction stxt() qui te permet de récupérer uen valeur dans une chaine de caractères.

cellule contenant ce que tu veux extraire
où tu commences ?
le nombre de caractères que tu veux extraire?
 

Ti_

Nous a quitté
Repose en paix
voici une fonction qui fonctionne directement depuis une cellule. Elle extrait tous les nombres (entiers) et s'il y en a plusieurs, les renvoie séparés par un espace. Avantage, si on sait qu'il n'y en aura jamais qu'un seul, on prend la valeur renvoyée telle quelle , si on sait qu'il y en aura plusieurs mais qu'on n'aura besoin que du premier, ou du xème, on pourra le retrouver facilement depuis la cellule avec des fonctions comme STXT, GAUCHE, DROITE etc.

noter que je n'utilise pas Trim du VBA qui n'extrait que les espaces de début et de fin de chaîne, alors que SUPPRESPACE (TRIM en anglais) d'Excel supprime tous les espaces en trop à l'intérieur de la chaîne.

'cette macro dans un module
Option Explicit
Const Chiffres = '0123456789'
Function ExtraitCh$(ByVal Ch$) 'Ti
Dim Bcle&, Car$
For Bcle = 1 To Len(Ch)
Car = Mid$(Ch, Bcle, 1)
ExtraitCh = ExtraitCh & IIf(InStr(1, Chiffres, Car) > 0, Car, ' ')
Next Bcle
ExtraitCh = WorksheetFunction.Trim(ExtraitCh)
End Function
 

Benzema

XLDnaute Junior
Re : Extraire une nombre d'une phrase

Bonjour a tous, je cherche a faire quelque chose de similaire:

j'ai des chiffres 2;23;4;46;6...... je cherche a pouvoir les recuperer 1 par un dans 1 boucle For, cad valueur=2 pour i=0, valeur=23 pour i=1....

Quelqu'un a une idee ?

Merci d'avance
 

tototiti2008

XLDnaute Barbatruc
Re : Extraire une nombre d'une phrase

Bonjour Benzema,

Eh oui, encore un fil avec notre regretté Ti...

à tester et à adapter
Code:
Sub test()
Dim Tout as String, i as long, Chiffres
 
Tout = "2;23;4;46;6"
Chiffres = Split(Tout, ";")
For i = lbound(chiffres) to ubound(chiffres)
msgbox i & " : " & chiffres(i)
next i
End sub

Edit : Bonjour hoerwind ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 202
Messages
2 086 178
Membres
103 152
dernier inscrit
Karibu