Problème STXT et TROUVE
FerméLe Pingou Messages postés 12200 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 novembre 2024 - 7 févr. 2023 à 20:40
- Problème STXT et TROUVE
- Stxt en anglais - Guide
- Word a trouvé du contenu illisible - Guide
- Ou se trouve la corbeille de whatsapp - Guide
- Pourquoi ma tv ne trouve pas toutes les chaînes - Guide
- Trouve une adresse - Guide
4 réponses
Modifié le 6 févr. 2023 à 13:30
Bonjour,
Sans une vision exhaustive des valeurs possibles c'est toujours problématique.
Avec les valeurs indiquées on peut plutôt que "(" utiliser " (" et pour ")" prendre ")_" alors :
=STXT(F4;TROUVE(" (";F4)+2;TROUVE("x";F4)-TROUVE(" (";F4)-2) =STXT(F4;TROUVE("x";F4)+1;TROUVE(")_";F4)-TROUVE("x";F4)-1)
6 févr. 2023 à 13:34
Bonjour,
Un possibilité pour la première dimension (à adapter pour la deuxième)
=STXT(DROITE(F1;12);TROUVE("(";DROITE(F1;12))+1;TROUVE("x";DROITE(F1;12))-TROUVE("(";DROITE(F1;12))-1)
Modifié le 7 févr. 2023 à 12:46
Hello Pingou !
Merci pour ton aide !
J'ai cependant remarqué que la structure des données que je cherchais a extraire variait plus que je ne le pensais.
Ci-dessous, les différentes structures rencontrées :
7K170-L170 (630x1206)_
2P175-P175
3K170-L170 (396x1450) R_
3P175-Y135 (2400 x 1600)
2P175-P175 _
2P175-P175 (1600x1600) HP Calibration_
6P(e)145-L(b)170gr (1430x1100)_
L'idéal serait donc une formule permettant d'extraire les caractères numériques écrits entre la dernière "(" et le "x".
Je précise "numérique" car dans une des structures, il y a des espaces entre les dimensions et le "x" :).
7 févr. 2023 à 15:26
Bonjour,
Si les nombres cherchés sont toujours à 3 ou 4 chiffres:
=SI(ESTERREUR(TROUVE("x";A2));"";SUBSTITUE(STXT(A2;TROUVE("x";A2)-4;4);"(";"")*1)
=SI(ESTERREUR(TROUVE("x";A2));"";SUBSTITUE(STXT(A2;TROUVE("x";A2)+1;5);")";"")*1)
Comme l'a décrit jee pee il faut identifier les éléments qui se répètent toujours et les particularités, pour pouvoir établir ou optimiser des formules.
On pourrait envisager de supprimer les espaces, mais il faut savoir si ce sont des espaces ordinaires "Car(32)" ou des espaces insécables "Car(160)".
En bref : hors du périmètre complet la validité des formules est une loterie.
7 févr. 2023 à 20:40
Bonjour,
Une autre solution:
'Premier
=SIERREUR(CNUM(STXT(F1;TROUVE(" (";F1)+2;TROUVE("x";F1)-TROUVE(" (";F1)-2));"")
'deuxième
=SIERREUR(CNUM(STXT(SUBSTITUE(F1;" ";"";1);TROUVE("x";SUBSTITUE(F1;" ";"";1))+1;TROUVE(")";SUBSTITUE(F1;" ";"";1);TROUVE("x";SUBSTITUE(F1;" ";"";1);1))-TROUVE("x";SUBSTITUE(F1;" ";"";1))-1));"")
Modifié le 7 févr. 2023 à 12:44
Un grand merci ! C'est tout simple, je n'avais pas pensé ! :)
En appliquant, je remarque cependant que ma colonne F (depuis laquelle je souhaite extaire les dimensions) n'a pas toujours la même structure.
Parfois, il n'y a pas de (), parfois il y en a plusieurs, et parfois il y a des caractères après les parenthèses (par exemple :" R_", "_", ...)
Voici les formats rencontrés :
7K170-L170 (630x1206)_
2P175-P175
3K170-L170 (396x1450) R_
3P175-Y135 (2400 x 1600)
2P175-P175 _
2P175-P175 (1600x1600) HP Calibration_
6P(e)145-L(b)170gr (1430x1100)_
Existe-t-il une formule permettant d'extraire les valeurs numériques entre la dernière "(" et le "x" ?
Je dis "numérique" car pour une des structures, il y a des espaces entre la dimension et le "x".
Modifié le 7 févr. 2023 à 13:04
Tu vois, c'est presque toujours le cas que la situation présentée au départ n'est pas complète. Et alors nos propositions ne peuvent pas être bonnes.
Il te reste que tu peux utiliser " ("
si pas de " (", il faut rajouter dans la formule un SIERREUR()
pour transformer une chaine en numérique c'est CNUM(" 300 ")
et on pourrait aussi utiliser la recherche de la position de la dernière ( et pareil pour )