Une subtilité avec la fonction STEXT ? [Résolu]

Signaler
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020
-
Messages postés
23807
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2021
-
Bonjour la communauté,

Tout d'abord bonnes fêtes de fin d'année :)

Dans un fichier Excel je rapporte d'un bloc note ceci , dans une cellule par exemple :

Hertha Berlin-Schalke 04
Comment faire pour séparer Hertha Berlin et Schalke 04 car les espaces je n'arrive pas à les supprimer pour extraire le nom de l'équipe convenablement?
Un autre exemple :
Stuttgart-RB Leipzig

Avez-vous une idée ?

8 réponses

Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021
836
Bonjour Valérie54001
Salutations Tontong, Eric

Il suffit d'inclure la substitution dans les formules utilisées, j'ai repris celles de tontong puisqu'après remplacement il ne reste qu'un seul tiret du 6

Pour la partie gauche

=GAUCHE(S2;CHERCHE("-";SUBSTITUE(S2;"Saint-";"Saint_");1)-1)


Pour la partie droite

=STXT(S2;CHERCHE("-";SUBSTITUE(S2;"Saint-";"Saint_");1)+1;99)


ATTENTION à bien respecter l'orthographe. Vérifier avant que "Saint" a bien une majuscule partout.

https://www.cjoint.com/c/JLBfzgVF58t

Cordialement
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020

Excellent Merci papy :)
Tong tong et Eriiic :)
Messages postés
23807
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2021
6 573
Bonjour à tous,

C'est bien parce que c'est noël :
https://www.cjoint.com/c/JLBhmNXKzRW
ne pas dépasser 10 mots dans Const mots
eric

Messages postés
2426
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
18 janvier 2021
920
Bonjour,
Essayez ces 2 formules:
=STXT(A2;CHERCHE("-";A2;1)+1;99)
=GAUCHE(A2;CHERCHE("-";A2;1)-1)

Vous pourriez aussi utiliser Données -> Convertir -> Délimité ->Séparateur Autre "-".
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020

Disons que les 2 formules me suffisent :)

Merci !
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021
836
Bonjour,

Ou
clique sur la cellule / onglet Données / convertir / délimité / suivant /autre (choisir le tiret du 6) / suivant / mettre la première cellule de destination / terminer

Cordialement
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020
>
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021

Ok je comprend, par contre moi j'en ai besoin en D1 et ''H1'' donc la méthode automatique je marchera pas.

c'est correct?
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021
836 >
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020

Oui c'est correct. La méthode est une conversion en tableau, donc c'est en effet inutile pour ce cas. A conserve en mémoire au cas où !

Cordialement
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020
>
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021

J'en profite car vous êtes super agréable :)
et pour faire le tour de la question !
Que faire pour cet exemple :
Saint-Etienne-PSG
Il y a 2 tirets du 6 !
Une idée ?
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021
836 >
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020

Dans ce cas il faut remplacer le deuxième tiret du 6 par un autre signe "µ" (par exemple) avec la fonction SUBSTITUE()

En A1 Saint-Etienne-PSG

En D1
=GAUCHE(A1;TROUVE("µ";SUBSTITUE(A1;"-";"µ";2);1)-1)


en H1
=DROITE(A1;NBCAR(A1)-TROUVE("µ";SUBSTITUE(A1;"-";"µ";2);1))


Cordialement
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020
>
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021

Oui, cela marche bien mais il y a un ''mais ''
ce fameux cas '' Saint-Etienne'' doit se retrouver TOUJOURS à la même position.

Ci-joint mon exemple :
https://www.cjoint.com/c/JLArQH80Noo
Je pense que vous comprendrez mieux mon souci.

Cdt.
Messages postés
23807
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2021
6 573
Bonjour,

le plus simple, comme ça doit être souvent Saint et Sainte qui gênent, c'est de sélectionner ta colonne et de
Remplacer (Ctrl+h): Saint-
par : Saint_
quitte à remplacer à nouveau par un - après découpage si tu préfères l'avoir.
eric
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020

Bonsoir Eriiic ,

c'est la solution que j'ai trouvé :)
Par contre, afin d'automatiser cette étape , n'y aurait-il une ligne de code possible pour corriger le souci ?

Cdt.
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020

Super le cadeau eriiic !!

Merci beaucoup !!!! Par contre lorsque je colle mes nouveaux matches cela ne marche plus ;(

https://www.cjoint.com/c/JLBiDWGuoeo

Cdt
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021
836
Bonjour,

Je viens de voir le fichier envoyé par Eric "salutations" et après plusieurs essais il est évident que ça ne fonctionne que s'il y a des villes avec les mots indiqués sur la première ligne du code VBA ( "Saint-,Saintes-,Sur-,-sur-,-Les-,-les-,-Lès-, -lès-" ) mais pas pour les autres ensembles de villes.

Je suis incapable de modifier le code (ignare en la matière). Le relai est passé dans les mains de l'auteur.;)

A tous passez une bonne fin d'année en espérant que 2021 nous ramène à une vie plus conforme à la normale.

Cordialement
Messages postés
83
Date d'inscription
mardi 22 novembre 2016
Statut
Membre
Dernière intervention
29 décembre 2020
>
Messages postés
3007
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
18 janvier 2021

Bonne fin d'année à toi aussi

Merci pour ton temps !!
Messages postés
23807
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2021
6 573
Bonjour à tous,

effectivement, je n'étais pas bien réveillé.
3 lignes de code mal placées.
J'ai oublié de te dire aussi : évite de sauter des lignes et colonnes vides, c'est une très mauvaise habitude.
Ca complique inutilement et ce n'est pas justifié. Régler largeur et hauteur fait exactement pareil.
https://www.cjoint.com/c/JLDjF5BtJhW
eric