Trouver le 6e mot/chiffre d'une phrase

Catoux

XLDnaute Nouveau
Bonjour,

je cherche une formule qui va trouver ce qui apparait après le 5e espace!

Ça peut être les 4 caractères après le 5e espace.

Dans ma cellule A1 j'ai ce texte-ci: 26 74,3 78,8 78,8 7 20,0 21,2 100,0 33 94,3 100,0 2 5,7 35 100,0

Je veux que excel me trouve le chiffre 20,0 qui est situé après le 5e espace.
Il est possible que les chiffres changent donc c'est pour ça que je dois me fier aux espaces et non au nombre de caractères.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Si tu as plus ou moins de 4 caractères entre les espaces.

VB:
=STXT(A2;CHERCHE("ù";SUBSTITUE(SUBSTITUE(A2;" ";"ù";5);" ";"Ω";5))+1;(CHERCHE("Ω";SUBSTITUE(SUBSTITUE(A2;" ";"ù";5);" ";"Ω";5)))-(CHERCHE("ù";SUBSTITUE(SUBSTITUE(A2;" ";"ù";5);" ";"Ω";5))+1))

JHA
 

Pièces jointes

  • Classeur substitue bis.xlsx
    9.3 KB · Affichages: 3

job75

XLDnaute Barbatruc
Bonsoir Catoux, JHA,

Fichier joint avec cette fonction VBA :
VB:
Function Trouve6(t$)
Trouve6 = ""
If UBound(Split(t)) > 4 Then Trouve6 = Split(t)(5)
If IsNumeric(Trouve6) Then Trouve6 = CDbl(Trouve6)
End Function
Le code doit être impérativement dans un module standard.

A+
 

Pièces jointes

  • Trouve6(1).xlsm
    15.3 KB · Affichages: 8

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Une autre formule :
VB:
=SIERREUR(1*SUPPRESPACE(DROITE(SUBSTITUE(GAUCHE(A1 & REPT(" ";6);CHERCHE("x";SUBSTITUE(A1 & REPT(" ";6);" ";"x";6))-1);" ";REPT(" ";255));255));"")

La formule précédente recherche un nombre. Si vous voulez un mot, supprimez 1* dans la formule.
 

Pièces jointes

  • Catoux- extraction nombre- v1.xlsx
    10.2 KB · Affichages: 9
Dernière édition:

Catoux

XLDnaute Nouveau
Merci pour vos excellentes réponses! Je ne connais pas du tout le VBA :(

Je cherche une façon de remplacer A6 de cette formule pour que ça fasse référence au mot Trouble mémoire, car cette valeur peut ne pas se retrouver à la même position d'un excel à l'autre.. Dans la première partie de cette formule j'ai insérer (DECALER(INDEX(A1:A21;EQUIV("Trouble mémoire";A1:A21;0);1);5;0) comme formule substitue à A6 mais ça ne fonctionne pas pour le A6 après SUBSTITUE. Je n'y arrive pas malgré plusieurs essaies différents.

FORMULE COMPLÈTE:
=STXT(DECALER(INDEX(A1:A21;EQUIV("Trouble mémoire";A1:A21;0);1);5;0);CHERCHE("ù";SUBSTITUE(A6;" ";"ù";5))+1;4)
 

Pièces jointes

  • besoin aide.xlsx
    8.8 KB · Affichages: 3

Catoux

XLDnaute Nouveau
Bonsoir,
Une autre formule :
VB:
=SIERREUR(1*SUPPRESPACE(DROITE(SUBSTITUE(GAUCHE(A1 & REPT(" ";6);CHERCHE("x";SUBSTITUE(A1 & REPT(" ";6);" ";"x";6))-1);" ";REPT(" ";255));255));"")

La formule précédente recherche un nombre. Si vous voulez un mot, supprimez 1* dans la formule.

C'est PRESQUE parfait!!!! Il renvoit seulement 1 chiffre d'avance donc ça renvoit au chiffre 7 au lieu de 20.0 dans mon fichier lorsque je copie colle la formule. Mais je vais vérifier avec votre démonstration excel! Merci !!
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 140
Membres
103 129
dernier inscrit
Atruc81500