Extraction de données

Y

Yann

Guest
Bonjour,


Comment faire si je veux extraire le texte qui se trouve entre deux mots ?

exemples de texte à extraire :

1- 'Pour élèves de 4, 5 ème année.' ---> 4, 5
2- 'Pour 6 ème année.' ---> 6

En faite tout chiffre et virgules se touvant entre Pour et ème.

Je suis parvenu à des résultats mais jamais ce que je veux ;o)


Merci !!!
 

andré

XLDnaute Barbatruc
Salut Yann,

J'ai vu dernièrement sur ce forum un macro qui extrait les valeurs numériques d'une chaîne de texte.
Je ne l'ai pas sous la main, mais cela ne va tarder.

Je crois qu'il y a moyen de le faire par formule, mais alors tu devrais préciser si les chaînes 'Pour élèves de' et 'Pour' sont les seules qui peuvent précéder les chiffres et si 'ème année' est toujours la même en fin de chaîne.

Â+
 

Hervé

XLDnaute Barbatruc
Bonjour yann, andré, staple, le forum

Une proposition par fonction personnalisée :

Public Function retrouvenombre(cellule As Range) As Double
Dim i As Byte
Dim j As Integer

For i = 1 To Len(cellule)
   
If IsNumeric(Mid(cellule, i, 1)) Then
       
For j = Len(cellule) To 1 Step -1
           
If IsNumeric(Mid(cellule, j, 1)) Then Exit For
       
Next j
       
Exit For
   
End If
Next i

retrouvenombre = Mid(cellule, i, j - i + 1)
           

End Function


Ce code est a placé dans un module standard (alt+f11 puis insertion module), ensuite on appel comme toute formule celle-ci dans une cellule : = retrouvenombre(A1)

salut
 

Discussions similaires

Réponses
22
Affichages
793
Réponses
5
Affichages
159

Statistiques des forums

Discussions
312 345
Messages
2 087 457
Membres
103 546
dernier inscrit
mohamed tano