0% ont trouvé ce document utile (0 vote)
75 vues12 pages

STXT

Le document présente une série d'exercices corrigés sur l'extraction et la reconstitution de données à partir de chaînes de texte dans un tableau. Il aborde des techniques pour extraire des matricules, des prénoms et noms, reconstituer des dates, et extraire des numéros clients en utilisant des fonctions Excel. Chaque exercice est accompagné de formules détaillées et d'explications sur leur fonctionnement.

Transféré par

zekrilaila
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats XLS, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
75 vues12 pages

STXT

Le document présente une série d'exercices corrigés sur l'extraction et la reconstitution de données à partir de chaînes de texte dans un tableau. Il aborde des techniques pour extraire des matricules, des prénoms et noms, reconstituer des dates, et extraire des numéros clients en utilisant des fonctions Excel. Chaque exercice est accompagné de formules détaillées et d'explications sur leur fonctionnement.

Transféré par

zekrilaila
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats XLS, PDF, TXT ou lisez en ligne sur Scribd

Exercices Corrigés

Fichier d'exercices lié à l'article traitant cette fonction, disponible su

Rappel:

Extraction du matricule au sein d'une chaîne de texte

Nous disposons ci-dessous d'une liste de salariés avec leur nom, matricule, service. Ces informati
suivi d'un tiret et d'un espace, le matricule est toujours de 5 caractères.

Indiquer en colonne D le matricule:

Salarié Matricule
D. Duval - XL334 - Comptabilité
P. Gilot - XI552 - Commercial
A. Maréchal - ZX832 - Entretien

Extraction prénom / nom

A partir de la liste ci-dessous, extraire les prénoms en colonne D et les noms en colonne E
Vous pouvez-vous aider d'autres fonctions comme NBCAR() TROUVE() SUBSTITUE() SUPPRES

Salarié Prénom Nom


PORTAL Marie-Pierre
DE SAINT ALBIN Vianey
DUCHEMIN Henri

Reconstitution de dates

Le tableau ci-dessous indique des dates, en format texte, année mois jour.
En colonne D reconstituer les dates au format date - aidez-vous des fonctions DROITE() GAUCHE

Date
20090503
20091204
20090815

Extraction d'un numéro client

Le tableau ci-dessous présente une liste de codifications clients, nous voulons en extraire le numé
Les codifications sont toujours de même longeur: 1 lettre suivie d'un tiret, 4 chiffres, et enfin un esp
Inscrire en colonne C le numéro client sur 4 caractères.

Code N° Client
A-6573 ARG
A-7650 TZN
F-0879 FRA
U-4351 CAN
Bon
Faux

facile
moyen
aitant cette fonction, disponible sur ce lien: difficile

atricule, service. Ces informations sont séparées par un espace

les noms en colonne E


VE() SUBSTITUE() SUPPRESPACE() etc …

fonctions DROITE() GAUCHE() et DATE() -


us voulons en extraire le numéro.
tiret, 4 chiffres, et enfin un espace suivi du code pays.
Exercices Corrigés

Extraction du matricule au sein d'une chaîne de texte

Nous disposons ci-dessous d'une liste de salariés avec leur nom, matricule, service. Ces informations
suivi d'un tiret et d'un espace, le matricule est toujours de 5 caractères.

Indiquer en colonne D le matricule:

Salarié Matricule
D. Duval - XL334 - Comptabilité XL334
P. Gilot - XI552 - Commercial XI552
A. Maréchal - ZX832 - Entretien ZX832

Formule En D25 : =STXT(B25;CHERCHE(" - ";B25)+3;5)


s
La longueur du texte à extraire est de 5 carac

Le début de la chaîne à extraire se situe exactement après


La fonction CHERCHE() permet d'indiquer la position de ce

A ce rérultat nous ajoutons 3, pour démarrer après la chaîn

La chaîne à extraire se trouve en cellule B25

Cette formule permet donc d'extraire 5 caractères de la cellule B25, à partir de la 12ème position

Extraction prénom / nom

A partir de la liste ci-dessous, extraire les prénoms en colonne D et les noms en colonne E
Vous pouvez-vous aider d'autres fonctions comme NBCAR() TROUVE() SUBSTITUE() SUPPRESPAC

Salarié Prénom Nom


PORTAL Marie-Pierre Marie-Pierre PORTAL
DE SAINT ALBIN Vianey Vianey DE SAINT ALBIN
DUCHEMIN Henri Henri DUCHEMIN

Formule En D52 : =STXT(B52;TROUVE("zzz";SUBSTITUE(B52;" ";"zzz";NBCAR(B52)-NBCAR(SUBSTIT


s

Commentaires:
NBCAR(B52) indique le nombre de carctères contenus en B52: 21

SUBSTITUE(B52;" ";"") remplace dans la cellule B52 les espaces par du vide
DESAINTALBINVianey
Cette fonction est encadrée par NBCAR() afin de compter le nombre caractères sans les espaces
18

La différence entre les deux, soit NBCAR(B52)-NBCAR(SUBSTITUE(B52;" ";"")), indique donc le nom
présents dans la cellule B52 : 3 Formule : =NBCAR(B52)-NBCAR(SUBSTIT

Ce résultat est intégré dans une fontion SUBTITUE(), afin de nous donner la dernière occurence du ca
SUBSTITUE(B52;" ";"zzz";NBCAR(B52)-NBCAR(SUBSTITUE(B52;" ";""))) revient donc à écrire SUBS
ce qui signifie que l'on remplace en cellule B53, le 3ème espace (donc le dernier) par zzz :

DE SAINT ALBINzzzVianey Formule : =SUBSTITUE(

Pourquoi zzz ? Nous pouvons mettre autre chose, du moment que cette chaîne de caractère n'existe p
Nous aurions pu utiliser þ ou ‰ à la place de zzz, le but étant de mettre quelque chose qui a peu de c

Une fois notre dernier espace remplacé par zzz, nous utilisons la fonction TROUVE() pour connaître la

TROUVE("zzz";SUBSTITUE(B52;" ";"zzz";NBCAR(B52)-NBCAR(SUBSTITUE(B52;" ";""))))

la chaîne zzz débute en 15ème position: 15 Formule : =TROUVE("zzz";SUBSTITUE(B52

Tout ceci revient à dire que le dernier espace se trouve en position 15 dans la cellule B52, donc que le
(d'où le +1 dans la formule)

La fonction STXT va donc extraire de la cellule B52, la chaîne de caractère commençant en position 1
Nous aurions pu calculer la longueur exacte à extaire, mais pour simplifier nous considérons que la lon
de la cellule, nous calculons donc STXT(B52;16;21) : Vianey Formule : =STXT(B52;16

Ces formules paraissent plus simples si on les décompose sur plusieurs colonnes :

Nbre Préparation pour fonction


Salarié
d'espaces TROUVE()
PORTAL Marie-Pierre 1 PORTALzzzMarie-Pierre
DE SAINT ALBIN Vianey 3 DE SAINT ALBINzzzVianey
DUCHEMIN Henri 1 DUCHEMINzzzHenri

=SUBSTITUE(B99;" ";"zzz";D99)

=TROUVE("zzz

Reste le nom en E52 :

Formule En E52 =SUPPRESPACE(SUBSTITUE(B52;D52;""))


s
Formule
s
Décomposons:
SUBSTITUE(B52;D52;"") remplace en cellule B52, le contenu de la cellule D52

Afin de retirer l'espace inutile à la fin du nom, la formule est encadrée par SUP

Reconstitution de dates

Le tableau ci-dessous indique des dates, en format texte, année mois jour.
En colonne D reconstituer les dates au format date - aidez-vous des fonctions DROITE() GAUCHE() e

Date
20090503 5/3/2009
20091204 12/4/2009
20090815 8/15/2009

Formule En C128 : =DATE(GAUCHE(B128;4);STXT(B128;5;2);DROITE(B128;2))


s Décomposons :
DROITE(B128;2) renvoie les 2 derniers caractères à droite de la cellule B128 s

GAUCHE(B128;4) renvoie les 4 premiers caractères à gauche de la cellule B12

STXT(B128;5;2) extrait 2 caractères à partir de la position 5

La fonction DATE() permet de transformer le tout en une vraie date


Synthaxe de la fonction : DATE(année;mois;jour)

Extraction d'un numéro client

Le tableau ci-dessous présente une liste de codifications clients, nous voulons en extraire le numéro.
Les codifications sont toujours de même longeur: 1 lettre suivie d'un tiret, 4 chiffres, et enfin un espace
Inscrire en colonne C le numéro client sur 4 caractères.

Code N° Client
A-6573 ARG 6573
A-7650 TZN 7650
F-0879 FRA 0879
U-4351 CAN 4351
Formule En C158 : =STXT(B158;3;4)
s

La chaîne de caractères à extraire est en B158, l'extraction commence à la pos

La fonction STXT() renvoie les données sous forme de texte, même s'il s'agit d
En l'occurrence ceci permet de conserver le zéro en première position sur la lig
vice. Ces informations sont séparées par un espace

extraire est de 5 caractères.

itue exactement après la suite de 3 caractères: " - "


diquer la position de cette chaîne :
9 Formule : =CHERCHE(" - ";B25)
émarrer après la chaîne " - " qui mesure 3 caractères.

de la 12ème position

n colonne E
TITUE() SUPPRESPACE() etc …

52)-NBCAR(SUBSTITUE(B52;" ";""))))+1;NBCAR(B52))

Formule : =NBCAR(B52)

SAINTALBINVianey Formule : =SUBSTITUE(B52;" ";"")


sans les espaces
Formule : =NBCAR(SUBSTITUE(B52;" ";""))

), indique donc le nombre d'espaces


52)-NBCAR(SUBSTITUE(B52;" ";""))

rnière occurence du caractère espace contenu dans la cellule B52


nt donc à écrire SUBSTITUE(B52;" ";"zzz";3)
r) par zzz :

rmule : =SUBSTITUE(B52;" ";"zzz";NBCAR(B52)-NBCAR(SUBSTITUE(B52;" ";"")))

de caractère n'existe pas déjà dans le nom.


e chose qui a peu de chance de se trouver dans un prénom

UVE() pour connaître la position de cette chaîne

B52;" ";"")))) revient donc à écrire TROUVE("zzz";"DE SAINT ALBINzzzVianey")

"zzz";SUBSTITUE(B52;" ";"zzz";NBCAR(B52)-NBCAR(SUBSTITUE(B52;" ";""))))

ellule B52, donc que le prénom commence en position 16

mmençant en position 16, jusqu'à la fin.


considérons que la longeur ne peut pas excéder le nombre de caractère total
rmule : =STXT(B52;16;21)

extraction 1
Position du
caractère
zzz
plus loin
7 Marie-Pierre
15 Vianey
9 Henri

9;" ";"zzz";D99) =STXT(B99;G99+1;NBCAR(B99))

=TROUVE("zzz";E99)
ntenu de la cellule D52 par vide, il ne reste ainsi que le nom:
DE SAINT ALBIN Formule : =SUBSTITUE(B52;D52;"")
est encadrée par SUPPRESPACE() :
DE SAINT ALBIN Formule : =SUPPRESPACE(G113)

DROITE() GAUCHE() et DATE() -

ite de la cellule B128 soit le jour


03 Formule : =DROITE(B128;2)

auche de la cellule B128 soit l'année


2009 Formule : =GAUCHE(B128;4)

05 Formule : =STXT(B128;5;2)

e vraie date

5/3/2009 Formule : =DATE(G140;G143;G136)

en extraire le numéro.
res, et enfin un espace suivi du code pays.
ion commence à la position 3, et est d'une longueur de 4 caractères

exte, même s'il s'agit d'une suite de chiffres.


mière position sur la ligne 3

Vous aimerez peut-être aussi