Extraire champ chaîne de caractères excel
Fermé
MATY31240
-
10 mai 2012 à 13:14
Mike-31 Messages postés 18357 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 6 février 2025 - 10 mai 2012 à 18:14
Mike-31 Messages postés 18357 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 6 février 2025 - 10 mai 2012 à 18:14
A voir également:
- Excel extraire chaine de caractère entre parenthèses
- Caractère ascii - Guide
- Extraire une video youtube - Guide
- Liste déroulante excel - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
8 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 425
10 mai 2012 à 14:46
10 mai 2012 à 14:46
Bonjour
et si vous avez de l'aspirine comme dit Michel, pour le fun:
=GAUCHE(STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);TROUVE("_";STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);1)-1)
crdlmnt
et si vous avez de l'aspirine comme dit Michel, pour le fun:
=GAUCHE(STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);TROUVE("_";STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);1)-1)
crdlmnt
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
10 mai 2012 à 14:05
10 mai 2012 à 14:05
Bonjour,
On peut le faire avec des formules -doliprane ou par une fonction personnalisée
la fonction
position est le 5° terme (58)
texto est le texte à étudier par ex "10000001_01_SCT_MAG_58_test.pdf "en cellule A1
extraire_chaino(A1;5) te retourne le texte 58
tu dis si tu veux 58 en nimbre
On peut le faire avec des formules -doliprane ou par une fonction personnalisée
la fonction
Function extraire_chainon(texto As String, position As Byte) As String extraire_chainon = Split(texto, "_")(position - 1) End Function
position est le 5° terme (58)
texto est le texte à étudier par ex "10000001_01_SCT_MAG_58_test.pdf "en cellule A1
extraire_chaino(A1;5) te retourne le texte 58
tu dis si tu veux 58 en nimbre
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 425
Modifié par Vaucluse le 10/05/2012 à 15:52
Modifié par Vaucluse le 10/05/2012 à 15:52
Re
oui bien sur, puisque vous utilisez STXT le résultat est du texte
mettez toute la formule entre parenthèses derrière le signe égal et terminez par *1
soit donc pour être clair:
=(GAUCHE(STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);TROUVE("_";STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);1)-1))*1
ceci repassera vos valeurs en numérique
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
oui bien sur, puisque vous utilisez STXT le résultat est du texte
mettez toute la formule entre parenthèses derrière le signe égal et terminez par *1
soit donc pour être clair:
=(GAUCHE(STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);TROUVE("_";STXT(A1;TROUVE("/";SUBSTITUE(A1;"_";"/";4);1)+1;20);1)-1))*1
ceci repassera vos valeurs en numérique
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
PHILOU10120
Messages postés
6405
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
13 février 2025
813
10 mai 2012 à 14:33
10 mai 2012 à 14:33
une solution
=STXT(A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;1)+1)+1)+1)+1;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;1)+1)+1)+1)+1)-1-CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;1)+1)+1)+1))
A18 est la cellule ou se trouve le texte à traiter
=STXT(A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;1)+1)+1)+1)+1;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;1)+1)+1)+1)+1)-1-CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;CHERCHE(CAR(95);A18;1)+1)+1)+1))
A18 est la cellule ou se trouve le texte à traiter
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour vos réponses!!
michel_m, je n'ai pas su utiliser cette fonction.
PHILOU10120 et Vaucluse, j'ai testé vos 2 formules avec succès!!
Par contre, se pose un autre problème:
J'ai bien le résultat qui apparait dans la colonne mais si je veux utiliser la formule =SOMME(B8:B501) pour calculer le total de tout ce qui est extrait, cette formule ne marche plus (elle fonctionne lorsqu'on inscrit des nombres).
une idée ?
Cordialement
michel_m, je n'ai pas su utiliser cette fonction.
PHILOU10120 et Vaucluse, j'ai testé vos 2 formules avec succès!!
Par contre, se pose un autre problème:
J'ai bien le résultat qui apparait dans la colonne mais si je veux utiliser la formule =SOMME(B8:B501) pour calculer le total de tout ce qui est extrait, cette formule ne marche plus (elle fonctionne lorsqu'on inscrit des nombres).
une idée ?
Cordialement
PHILOU10120
Messages postés
6405
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
13 février 2025
813
10 mai 2012 à 16:01
10 mai 2012 à 16:01
Taper CNUM ( mettre toute la formule )
Bon week-end à tous !
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 425
Modifié par Vaucluse le 10/05/2012 à 17:35
Modifié par Vaucluse le 10/05/2012 à 17:35
Merci MATY
pour info la solution de Philou:
=CNUM(formule)
peut s'appliquer à n'importe quelle formule pour transformer le texte en num. Il suffit comme pour *1 de mettre la formule complète entre parenthèses derrière CNUM;
bonne route
pour info la solution de Philou:
=CNUM(formule)
peut s'appliquer à n'importe quelle formule pour transformer le texte en num. Il suffit comme pour *1 de mettre la formule complète entre parenthèses derrière CNUM;
bonne route
Mike-31
Messages postés
18357
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
6 février 2025
5 114
10 mai 2012 à 18:14
10 mai 2012 à 18:14
Salut le fil,
J'arrive après la bataille, peut être un peu plus court avec cette formule
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;"_";"µ";4))+1;TROUVE("µ";SUBSTITUE(A1;"_";"µ";5))-TROUVE("µ";SUBSTITUE(A1;"_";"µ";4))-1)*1
pour extraire une partie de chaine texte supprimer simplement *1 en fin de formule
J'arrive après la bataille, peut être un peu plus court avec cette formule
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;"_";"µ";4))+1;TROUVE("µ";SUBSTITUE(A1;"_";"µ";5))-TROUVE("µ";SUBSTITUE(A1;"_";"µ";4))-1)*1
pour extraire une partie de chaine texte supprimer simplement *1 en fin de formule