Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Contribuez
Contribuez Placez ici vos codes, sources, trucs et astuces que vous souhaitez partager avec les membres du club.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2007, 18h49   #1
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
Par défaut Extraire les mots d'une phrase

1. Trouver le Nieme mot dans une phrase.

La phrase est par exemple saisie en A1. En B1, saisisssez la position du mot que vous souhaitez extraire.
Placez ensuite cette formule en A2:

Code :
=SI(B1>NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""));DROITE(A1;NBCAR(A1)-TROUVE("^^";SUBSTITUE(A1;" ";"^^";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";"")))));SI(B1=1;STXT(A1;1;TROUVE("^^";SUBSTITUE(A1;" ";"^^";1))-1);STXT(A1;TROUVE("^^";SUBSTITUE(A1;" ";"^^";B1-1))+1;TROUVE("^^";SUBSTITUE(A1;" ";"^^";B1))-TROUVE("^^";SUBSTITUE(A1;" ";"^^";B1-1))-1)))


2. Sur le même principe, pour extraire tous les mots d'une phrase écrite en A1, il serait donc possible de saisir en B1:

Code :
=SI(NBCAR($A$1)-NBCAR(SUBSTITUE($A$1;" ";"")) + 2<COLONNE();"";SI(COLONNE()-1>NBCAR($A$1)-NBCAR(SUBSTITUE($A$1;" ";""));DROITE($A$1;NBCAR($A$1)-TROUVE("^^";SUBSTITUE($A$1;" ";"^^";NBCAR($A$1)-NBCAR(SUBSTITUE($A$1;" ";"")))));SI(COLONNE()-1=1;STXT($A$1;1;TROUVE("^^";SUBSTITUE($A$1;" ";"^^";1))-1);STXT($A$1;TROUVE("^^";SUBSTITUE($A$1;" ";"^^";COLONNE()-2))+1;TROUVE("^^";SUBSTITUE($A$1;" ";"^^";COLONNE()-1))-TROUVE("^^";SUBSTITUE($A$1;" ";"^^";COLONNE()-2))-1))))
Et de recopier la même formule sur les autres colonnes de droite, afin d'extraire chaque mot.



3. Une autre solution, sans formule, consiste à utiliser l'assistant de conversion:

Sélectionnez la cellule A1 qui contient la phrase complète.
Menu Données
Convertir
Sélectionnez l'option "Largeur Fixe"
Suivant
La fenêtre suivant permet de prévisualiser le résultat
Suivant
L'assistant de conversion propose d'autres options pour personnaliser le résultat (le format des données en colonne, la cellule de destination …etc…).
Cliquez sur le bouton "Terminer"
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 17h06   #2
Expert Confirmé
 
Inscription : mai 2005
Messages : 3 419
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 3 419
Points : 3 768
Points : 3 768
bravo absolument superbe !!

pas trop lisible mais magnifique

j'en étais resté à
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
Function extrmot(mot As String, pos As Integer) As String
Dim rep As Variant
rep = Split(mot, " ")
If pos < 1 Then
extrmot = rep(0)
ElseIf pos > UBound(rep) Then
extrmot = rep(UBound(rep) - 1)
Else
extrmot = Split(mot, " ")(pos - 1)
End If
End Function
__________________
Elle est pas belle la vie ?
random est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h57.


 
 
 
 
Partenaires

Hébergement Web