XL 2021 Afficher texte d'une cellule

Theflo

XLDnaute Nouveau
Bonjour,

Je souhaite afficher le texte d'une cellule, sachant que ce texte peut être présent ou non et placé aléatoirement dans une cellule.
Je joins un exemple en pj pour plus de clarté.
Merci pour votre aide
Flo
 

Pièces jointes

  • Test SPF.xlsx
    17.1 KB · Affichages: 6

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un début avec cette formule
VB:
=SI(ESTNUM(CHERCHE("no SPF";$A2));"NO SPF";SI(ESTNUM(CHERCHE("SPF";$A2));STXT($A2;CHERCHE("SPF";$A2);5);""))
ou
VB:
=SI(ESTNUM(CHERCHE("no SPF";$A2));STXT($A2;CHERCHE("SPF";$A2)-3;8);SI(ESTNUM(CHERCHE("SPF";$A2));STXT($A2;CHERCHE("SPF";$A2);5);""))

JHA
 

Pièces jointes

  • Test SPF.xlsx
    11.4 KB · Affichages: 3
Dernière édition:

Theflo

XLDnaute Nouveau
Bonjour à tous,

Un début avec cette formule
VB:
=SI(ESTNUM(CHERCHE("no SPF";$A2));"NO SPF";SI(ESTNUM(CHERCHE("SPF";$A2));STXT($A2;CHERCHE("SPF";$A2);5);""))
ou
VB:
=SI(ESTNUM(CHERCHE("no SPF";$A2));STXT($A2;CHERCHE("SPF";$A2)-3;8);SI(ESTNUM(CHERCHE("SPF";$A2));STXT($A2;CHERCHE("SPF";$A2);5);""))

JHA
Ces deux formules fonctionnent également.
Est-il possible également de les comprendre ?
 

chaelie2015

XLDnaute Accro
Superbe, cela fonctionne bien.
Est-il possible de m'expliquer cette formule afin de pouvoir la reproduire pour d'autres occassions ?
Merci
Bonjour CISCO, Theflo, le forum
Je souhaite apporter des explications à la formule de Cisco (Réponse CISCO).
C'est une formule utilisant les fonctions `SIERREUR`, `STXT`, `CHERCHE` pour extraire une sous-chaîne de texte d'une cellule A2. Elle extrait une sous-chaîne de 5 caractères commençant par la première occurrence de "SPF" dans la cellule A2. Si "SPF" n'est pas trouvé, la formule renverra une chaîne vide.
Voici la description de la formule (selon ma bibliothèque Excel)

1. `CHERCHE("SPF";A2)` : Cette partie de la formule recherche la première occurrence du texte "SPF" dans le contenu de la cellule A2. La fonction `CHERCHE` renvoie la position de la première lettre de la première occurrence trouvée de "SPF". Par exemple, si "SPF" est trouvé à la position 10 dans A2, cette fonction renverra 10.

2. `STXT(A2;CHERCHE("SPF";A2);5)` : Cette partie utilise la fonction `STXT` pour extraire une sous-chaîne de texte de la cellule A2. La fonction `STXT` nécessite trois arguments :
- Le premier argument est le texte d'origine (dans ce cas, la cellule A2).
- Le deuxième argument est la position de départ de l'extraction, que nous avons obtenu grâce à `CHERCHE`.
- Le troisième argument est la longueur de la sous-chaîne que vous voulez extraire. Dans ce cas, il est défini sur 5. Ainsi, la formule extrait une sous-chaîne de 5 caractères à partir de la position trouvée par `CHERCHE`.

3. `SIERREUR(STXT(A2;CHERCHE("SPF";A2);5);"")` : Cette formule complète combine les étapes précédentes avec la fonction `SIERREUR`. La fonction `SIERREUR` permet de gérer les erreurs. Elle renvoie la valeur de la première expression si elle ne génère pas d'erreur, sinon elle renvoie la valeur de la deuxième expression (dans ce cas, une chaîne vide, "").
En d'autres termes, si la recherche de "SPF" dans A2 échoue (c'est-à-dire, si "SPF" n'est pas trouvé), la fonction `CHERCHE` renverra une erreur, et la formule renverra une chaîne vide (""). Si "SPF" est trouvé, alors la sous-chaîne de 5 caractères sera extraite.

Merci CISCO
 

Theflo

XLDnaute Nouveau
Bonjour CISCO, Theflo, le forum
Je souhaite apporter des explications à la formule de Cisco (Réponse CISCO).
C'est une formule utilisant les fonctions `SIERREUR`, `STXT`, `CHERCHE` pour extraire une sous-chaîne de texte d'une cellule A2. Elle extrait une sous-chaîne de 5 caractères commençant par la première occurrence de "SPF" dans la cellule A2. Si "SPF" n'est pas trouvé, la formule renverra une chaîne vide.
Voici la description de la formule (selon ma bibliothèque Excel)

1. `CHERCHE("SPF";A2)` : Cette partie de la formule recherche la première occurrence du texte "SPF" dans le contenu de la cellule A2. La fonction `CHERCHE` renvoie la position de la première lettre de la première occurrence trouvée de "SPF". Par exemple, si "SPF" est trouvé à la position 10 dans A2, cette fonction renverra 10.

2. `STXT(A2;CHERCHE("SPF";A2);5)` : Cette partie utilise la fonction `STXT` pour extraire une sous-chaîne de texte de la cellule A2. La fonction `STXT` nécessite trois arguments :
- Le premier argument est le texte d'origine (dans ce cas, la cellule A2).
- Le deuxième argument est la position de départ de l'extraction, que nous avons obtenu grâce à `CHERCHE`.
- Le troisième argument est la longueur de la sous-chaîne que vous voulez extraire. Dans ce cas, il est défini sur 5. Ainsi, la formule extrait une sous-chaîne de 5 caractères à partir de la position trouvée par `CHERCHE`.

3. `SIERREUR(STXT(A2;CHERCHE("SPF";A2);5);"")` : Cette formule complète combine les étapes précédentes avec la fonction `SIERREUR`. La fonction `SIERREUR` permet de gérer les erreurs. Elle renvoie la valeur de la première expression si elle ne génère pas d'erreur, sinon elle renvoie la valeur de la deuxième expression (dans ce cas, une chaîne vide, "").
En d'autres termes, si la recherche de "SPF" dans A2 échoue (c'est-à-dire, si "SPF" n'est pas trouvé), la fonction `CHERCHE` renverra une erreur, et la formule renverra une chaîne vide (""). Si "SPF" est trouvé, alors la sous-chaîne de 5 caractères sera extraite.

Merci CISCO
Extrêmement clair, merci !
 

Discussions similaires

Réponses
6
Affichages
116

Statistiques des forums

Discussions
312 215
Messages
2 086 318
Membres
103 176
dernier inscrit
jean.yvesjean.yves