Extraire des mots d'une chaine de cararctères

pascal21

XLDnaute Barbatruc
bonjour
je cherche le moyen d'extraire des mots d'une chaîne de caractères
exemple
en a1
cette phrase: rdv chez le client à (retour chariot)18h00
j'aimerais en b2 rdv; en c2 chez; c2 le; d2 client; e2 18h00
cette phrase n'est qu'un exemple bien sur
cette phrase changera mais le nombre de mots et d'espaces restera identique
merci de votre aide
j'arrive à extrire le premier mot mais c'est ensuite que ça se gatte
 

jp14

XLDnaute Barbatruc
Re : Extraire des mots d'une chaine de cararctères

Bonjour

Suivant l'outil utilisé pour extraire les mots la procédure change
En Vba le plus simple est la procédure Split
Avec des formules il faut combiner la recherche des positions de l'espace et l'extraction des caractères, ou alors développer une fonction personnalisée

Avec des formules
B2 =GAUCHE($A$2;CHERCHE(" ";A2;1))
C2 =STXT(A2;NBCAR(B2) +1;CHERCHE(" ";$A$2;5)-NBCAR(B2) )
D2 =STXT($A$2;NBCAR(C2) +1+NBCAR(B2);CHERCHE(" ";$A$2;NBCAR(C2) +1+NBCAR(B2))-NBCAR(C2) -NBCAR(B2))
........

JP
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraire des mots d'une chaine de cararctères

Bonsoir,

Voir PJ

Code:
Function decoupeH(chaîne, sep)
  Dim b()
  a = Split(chaîne, sep)
  ReDim b(0 To Application.Caller.Columns.Count - 1)
  For i = LBound(a) To UBound(a)
      b(i) = a(i)
  Next
  decoupeH = b
End Function

-Sélectionner G1:L1
=decoupeH(A1;" ")
-Valider avec Maj+ctrl+entrée


JB
 

Pièces jointes

  • FonctionDecoupe2.xls
    26 KB · Affichages: 77
  • FonctionDecoupe2.xls
    26 KB · Affichages: 85
  • FonctionDecoupe2.xls
    26 KB · Affichages: 81
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Extraire des mots d'une chaine de cararctères

Salut @ tous,
en B1 :
HTML:
=GAUCHE(STXT(" "&$A1;TROUVE("%";SUBSTITUE(" "&$A1;" ";"%";COLONNES($C:C)))+1;99);TROUVE(" ";STXT(" "&$A1;TROUVE("%";SUBSTITUE(" "&$A1;" ";"%";COLONNES($C:C)))+1;99))-1)
@ tirer jusqu'a vers la droite la colonne E
et pour l'heure en F1 tu peux le faire avec la fonction DRTOITE()
Amicalement.
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67