Extraction du nombre juste avant un symbole
Résolu
frenzy7
Messages postés
55
Date d'inscription
Statut
Membre
Dernière intervention
-
frenzy7 -
frenzy7 -
Bonjour,
Dans un paragraphe sur Excel, je souhaite extraire le nombre juste avant le symbole "€"
Exp: Abcdefg daldj, Fkap 0983290 dlfl 100€ fdzfzelfzl czkre.
Dans cet exp, je souhaite extraire le nombre "100".
Le nombre n'est pas figé et peut être placé à n'importe quel endroit dans le paragraphe.
PS: Le nombre peut être différent, si c'était 1000 je souhaite extraire "1000" c'est pour celà que je ne peux pas utiliser certaines fonctions comme STXT() qui comptent le nombre de caractères avant un caractère défini.
J'ai beau cherché je ne trouve pas. Je souhaite faire appel aux plus balaises d'entre vs car je galère depuis plusieurs jours.
Je vous remercie d'avance.
Dans un paragraphe sur Excel, je souhaite extraire le nombre juste avant le symbole "€"
Exp: Abcdefg daldj, Fkap 0983290 dlfl 100€ fdzfzelfzl czkre.
Dans cet exp, je souhaite extraire le nombre "100".
Le nombre n'est pas figé et peut être placé à n'importe quel endroit dans le paragraphe.
PS: Le nombre peut être différent, si c'était 1000 je souhaite extraire "1000" c'est pour celà que je ne peux pas utiliser certaines fonctions comme STXT() qui comptent le nombre de caractères avant un caractère défini.
J'ai beau cherché je ne trouve pas. Je souhaite faire appel aux plus balaises d'entre vs car je galère depuis plusieurs jours.
Je vous remercie d'avance.
A voir également:
- Extraction du nombre juste avant un symbole
- Symbole poisson voiture - Accueil - Maison
- Symbole spéciaux - Guide
- Copains d'avant qui a visité mon profil ✓ - Forum Réseaux sociaux
- Nombre de jours entre deux dates excel - Guide
- Retrouver mon compte copains d'avant - Forum Réseaux sociaux
6 réponses
Bonjour,
Condition, il faut que devant le nombre il y ait un blanc
En A1 ta chaine, je le fais en 2 fois car en une seule la formule devient illisible car trop longue
en A2 :
en A3 :
Cdlt
Condition, il faut que devant le nombre il y ait un blanc
En A1 ta chaine, je le fais en 2 fois car en une seule la formule devient illisible car trop longue
en A2 :
=GAUCHE(A1;CHERCHE("€";A1)-1)on supprime ce qu'il y a à partir de €
en A3 :
=DROITE(A2;NBCAR(A2)-CHERCHE("§";SUBSTITUE(A2;" ";"§";NBCAR(A2)-NBCAR(SUBSTITUE(A2;" ";"")))))on ne garde que ce qu'il y a après le dernier blanc
Cdlt
Bonjour
Ou bien avec une fonction personnalisée à condition comme dans les formules de jee pee qu'il y ait une blanc devant le nombre et après le € et qu'un nombre comme 10000 ne soit pas écrit 10 000
Copier la macro et la coller dans un module de l'Editeur VBA (ALT+F11 pour ouvrir l'éditeur - Insertion - Module - coller la macro)
Syntaxe à utiliser dans la feuille : = isolmonet(A1)
Cdlmnt
Via
Ou bien avec une fonction personnalisée à condition comme dans les formules de jee pee qu'il y ait une blanc devant le nombre et après le € et qu'un nombre comme 10000 ne soit pas écrit 10 000
Copier la macro et la coller dans un module de l'Editeur VBA (ALT+F11 pour ouvrir l'éditeur - Insertion - Module - coller la macro)
Function isolmonet(plage As Range) tablo = Split(plage, " ") For n = 0 To UBound(tablo) If Right(tablo(n), 1) = "€" Then isolmonet = Application.WorksheetFunction.Substitute(tablo(n), "€", "") Next End Function
Syntaxe à utiliser dans la feuille : = isolmonet(A1)
Cdlmnt
Via
Bonjour
Tu demandais : je souhaite extraire le nombre "100".
Donc dans la macro je fais remplacer le $ par du vide
Soit tu formates ta cellule où tu entre la fonction en format monétaire et tu auras un nombre utilisable (pour d'autres calculs) soit tu modifie ainsi la ligne de macro
mais tu auras du texte non utilisable dans un calcul
Tu demandais : je souhaite extraire le nombre "100".
Donc dans la macro je fais remplacer le $ par du vide
Soit tu formates ta cellule où tu entre la fonction en format monétaire et tu auras un nombre utilisable (pour d'autres calculs) soit tu modifie ainsi la ligne de macro
If Right(tablo(n), 1) = "€" Then isolmonet = tablo(n)
mais tu auras du texte non utilisable dans un calcul
????
D'abord j'ai fait oubli dans la macro c'est de convertir la valeur texte en nombre donc tu remplaces la ligne avec le IF par celle ci :
If Right(tablo(n), 1) = "€" Then isolmonet = Val(Application.WorksheetFunction.Substitute(tablo(n), "€", ""))
Tu mets la formule =isolmonet dans ta cellule, la macro retourne une valeur numérique et pour faire afficher en monétaire il faut que ta cellule soit en format monétaire dans le Ruban Accueil - Nombre ou clic droit dans la cellule - Format de cellule)
D'abord j'ai fait oubli dans la macro c'est de convertir la valeur texte en nombre donc tu remplaces la ligne avec le IF par celle ci :
If Right(tablo(n), 1) = "€" Then isolmonet = Val(Application.WorksheetFunction.Substitute(tablo(n), "€", ""))
Tu mets la formule =isolmonet dans ta cellule, la macro retourne une valeur numérique et pour faire afficher en monétaire il faut que ta cellule soit en format monétaire dans le Ruban Accueil - Nombre ou clic droit dans la cellule - Format de cellule)
Je ne sais pas d'où provienennt ces lignes de codes dans ton module1, elles n'appartiennent pas à la macro que t'ai fournie !
Efface toutes ces lignes dans le module 1 et colles à la place celles-ci :
Si tu n'y arrives pas poste un exemple de ton fichier sur mon-partage.fr, fais créer un lien que tu copies et reviens coller ici, je regarderais
Efface toutes ces lignes dans le module 1 et colles à la place celles-ci :
Function isolmonet(plage As Range) tablo = Split(plage, " ") For n = 0 To UBound(tablo) If Right(tablo(n), 1) = "€" Then isolmonet = Val(Application.WorksheetFunction.Substitute(tablo(n), "€", "")) Next End Function
Si tu n'y arrives pas poste un exemple de ton fichier sur mon-partage.fr, fais créer un lien que tu copies et reviens coller ici, je regarderais
J'ai testé ca fonctionne. La formule retounrne bien un nombre. Au final je vais le laisser sans le "€" c'est mieux.
Il ne reste plus qu'à convertir la cellule en monétaire (car impossible de faire des calculs avec cette celluleen laissant comme ca). Quelle serait cette formule? Si on peut le faire ds la meme macro ca m'arrangerait
Il ne reste plus qu'à convertir la cellule en monétaire (car impossible de faire des calculs avec cette celluleen laissant comme ca). Quelle serait cette formule? Si on peut le faire ds la meme macro ca m'arrangerait
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il n'y a pas de formule à mettre c'est le format de ta cellule qu'il faut mettre en monétaire selon la procédure que je t'indiquais dans mon message 6
On ne peut pas le faire dans la macro car ce n'est pas une macro qui s'applique à une cellule mais une fonction qui crée une sorte de formule
Si tu veux adapter le format d'une cellule par macro il faut le faire dans une autre macro qui se déclencherait apr exemple par une double clic dans la cellule
On ne peut pas le faire dans la macro car ce n'est pas une macro qui s'applique à une cellule mais une fonction qui crée une sorte de formule
Si tu veux adapter le format d'une cellule par macro il faut le faire dans une autre macro qui se déclencherait apr exemple par une double clic dans la cellule
Oui je comprends bien mais ma cellule est déjà au format monétaire! Lorsque j'applique la macro le format monétaire semble disparaitre (mais qd je regarde son format, il est bien là!), j'ai beau recliqué sur monétaire, celà ne change rien.
En effet la cellule n'affiche pas les ",00 €" comme je voudrais qu'elle le fasse afin de pouvoir faire mes calculs.
J'ai fait mes recherches, testé et retesté, j'ai utilisé la formule =CNUM(SUBSTITUE(A1);CAR(160);""))
Avec notre fonction isolmonet celà donne:
=CNUM(SUBSTITUE(isolmonet(A4);CAR(160);""))
Le probleme est finalement résolu :)
En effet la cellule n'affiche pas les ",00 €" comme je voudrais qu'elle le fasse afin de pouvoir faire mes calculs.
J'ai fait mes recherches, testé et retesté, j'ai utilisé la formule =CNUM(SUBSTITUE(A1);CAR(160);""))
Avec notre fonction isolmonet celà donne:
=CNUM(SUBSTITUE(isolmonet(A4);CAR(160);""))
Le probleme est finalement résolu :)
Sur le meme principe voici un exp d'une chaine de caracteres alphanumérique:
abcd 123 efgh456 impayé100e ijkl789.
Je désire récupérer dans une cellule le nombre 100. Avec le mot de référence "impayé", quelle serait la macro à créer? J'ai testé avec l'autre (remplacé € par impayé je n'y arrive pas, probablement parce que la récupération est à droite cette fois)
abcd 123 efgh456 impayé100e ijkl789.
Je désire récupérer dans une cellule le nombre 100. Avec le mot de référence "impayé", quelle serait la macro à créer? J'ai testé avec l'autre (remplacé € par impayé je n'y arrive pas, probablement parce que la récupération est à droite cette fois)