Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
J'ai un fichier récupérer d'un PDF qui m'affiche toutes les données ( textes et chiffres) dans une même cellule. J'ai essayé d'extraire les valeurs numériques via cette formule GAUCHE(C5;NBCAR(C5)-TROUVE(" ";C5)) sans succès.
Cette formule est-elle la bonne? Si oui ou se trouve mon erreur, si non quelle formules faut il utiliser?
Et tu veux les 2 chaînes dans une seule cellule ou dans 2 cellules différentes ?
Et as-tu cherché à comprendre la formule ? Parce que si c'est le cas il est préférable de poser des questions sur ce que tu ne comprends pas plutôt que je te livre une réponse qui te dépannera sur le moment mais qui ne t'apportera rien dans la compréhension d'Excel...
A+
je souhaite avoir 2 cellules pour les 2 chaînes numériques
oui j'ai bien cherché à comprendre la formule, j'ai remplacé le "+1" par "-5" pour extraire la 1ere chaine de caractère mais je n'arrive pas à obtenir le résultat dans 2 cellules différentes.
Après ce que je ne comprends pas à quoi correspondent les "/"
A ton avis qu'est ce que je cherche à obtenir ? Utilise l'aide d'Excel et vois ce qui est dit sur cette fonction SUBSTITUE et notamment sur ce qu'apporte l'utilisation du 4ème argument de cette fonction.
oui il y a plus simple et sans passer par une formule matricielle mais j'attends que Bene25 comprenne le principe avant de livrer (enfin bon, si cela l'intéresse).
A+
@david si j'ai bien compris l'aide excel le "/" correspond au nouveau texte donc à la chaine de valeur numérique qui est extraite en comptant le nombre de caractère la cellule en faisant une soustraction du nombre de carctère jusqu'a rencontrer un espace, c'est bien ça???
@david si j'ai bien compris l'aide excel le "/" correspond au nouveau texte donc à la chaine de valeur numérique qui est extraite en comptant le nombre de caractère la cellule en faisant une soustraction du nombre de carctère jusqu'a rencontrer un espace, c'est bien ça???
La fonction SUBSTITUE permet de remplacer un caractère par un autre. Si la chaîne de caractère à traiter comprend plusieurs caractères identiques et que tu ne veux en remplacer qu'un seul le 4ème argument (no_position) de cette fonction te permet de préciser quel caractère tu veux remplacer.
Donc dans le cas présent il te faut trouver le moyen de préciser que tu ne veux remplacer que le dernier espace. Pour cela il te suffit retrancher au nombre de caractères de la chaîne avec les espaces le nombre caractères de cette même chaîne sans ses espaces :
Code:
NBCAR(C5)-NBCAR(SUBSTITUE(C5;" ";""))
Une fois que tu récupères la position du dernier espace il suffit de le remplacer par le caractère que tu veux à condition qu'il ne soit pas présent dans la chaîne ("/" dans l'exemple).
Ensuite la fonction CHERCHE permet de trouver la position de ce caractère "/".
Tu suis pour l'instant ?
Maintenant procède par ordre : si tu veux récupérer de manière dynamique l'ensemble des caractères situés après l'avant-dernier espace (1.000 4.2560 par exemple) qu'est-ce qu'il te suffit de modifier dans le 4ème argument (no_position) ?
A+
a mon sens et si j'ai bien compris, c'est un espace supplémentaire que je dois extraire donc ajouter un no_ position à la 2eme fonction subsitute ou ajouter un espace au 1er no_position (mais là je ne vois pas comment faire)
mais ça doit pas être ça vu que ça marche pas , voila ce que j'ai essayé:
NBCAR(C5)-NBCAR(SUBSTITUE(C5;" ";" ";""))
ou sinon ajouter une autre soustraction en no_position donc NBCAR(C5)-NBCAR(SUBSTITUE(C5;" ";"";NBCAR(C5)-NBCAR(SUBSTITUE(C5;" ";""))
mais bon j'ai VALEUR comme résultat à chaque fois.
Dsl j'ai bien compris l'explication de texte mais n'arrive pas à la mettre en pratique
te ramène le nombre d'espace dans la chaîne, soit 7 en C6.
Quand tu utilises cette partie dans le 4ème argument de la fonction SUBSTITUE tu remplaces alors le 7ème espace par le caractère "/"
Je reprends : tu as une phrase comportant des suites de caractères espacés par des espaces et tu ne veux récupérer qu'une partie de cette phrase. Pour savoir combien tu as d'espace il te suffit de comptabiliser le nombre de caractères de ta phrase avec les espaces
Code:
NBCAR(C6)
et de lui retrancher le nombre de caractères sans les espaces
Code:
NBCAR(SUBSTITUE(C6;" ";""))
NB : tu remarqueras qu'à ce stade je n'utilise pas le 4ème argument no_position de cette fonction et que donc l'ensemble des espaces " " sont remplacés par une chaine vide "".
Donc en C6 tu as 7 espaces
Code:
NBCAR(C6)-NBCAR(SUBSTITUE(C6;" ";""))
Une fois que je sais qu'il y a 7 espaces je vais pouvoir remplacer l'espace voulu par le "/".
J'utilise pour cela à nouveau la fonction SUBSTITUE mais en utilisant cette fois son 4ème argument no_position qui te permet de dire "je ne veux remplacer que cet espace précis et non tous les espaces".
Le but de la manœuvre est de remplacer l'espace qui précède le début de la chaîne de caractères que tu veux récupérer par un caractère particulier et unique (le "/").
Donc comme je sais que j'en ai 7 :
- si je veux récupérer uniquement les caractères situés après le dernier espace (soit le 7ème), j'utilise dans l'argument no_position
Maintenant que je connais la position de "/" je peux utiliser cette information dans la fonction STXT pour lui préciser à partir de quel endroit je veux récupérer la chaîne de caractère qui m'intéresse.
uniquement pour me placer sur le 1er caractère qui suit l'espace et 99 pour récupérer l'ensemble des caractères qui suivent (tu peux utiliser un autre chiffre, peu importe du moment qu'il est plus grand que le nombre de caractères à récupérer.
Fais une recherche sur la fonction STXT pour mieux la comprendre.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.