Evaluer la présence de sous-chaînes d'une liste dans une cellule

ED31

XLDnaute Junior
Bonjour

Je cherche à tester la présence dans une chaîne de texte d'une ou plusieurs sous-chaîne de texte :
Ex : Ensemble de chaînes à tester : ".com", ".fr", ".br", ".de", "www"

Si une de ces valeurs est présente (une ou plusieurs), la fonction visée doit renvoyer "vrai" ou un tag quelconque. Sinon, zéro. (ce tag me permettra de faire du ménage !).

J'imagine une formule matricielle qui évaluerait pour chaque valeur avec Trouve la présence de la sous-chaîne.... mais je ne vois pas comment l'écrire.
Exemple de chaîne à analyser par une fonction :
The Telegraph - Telegraph online, Daily Telegraph, Sunday Telegraph - Telegraph US_SOC US_CUL The Simpsons humour joke weird :rolleyes:
blog.ific-coaching.com ENTREPRISE COACH VEILLE SENIORS INTELLIGENCE COLLECTIVE performance collective
fr.ubergizmo.com outils web clavier Microsoft
agfax.com US_JAP TTP




Sinon, une fonction VBA personnalisée (UDF) serait bien sûr plus aisée à réaliser.
Mais les fonctions matricielles, c'est le fun !
Merci pour vos tuyaux.:D
 

CISCO

XLDnaute Barbatruc
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Bonsoir

@ Staple1600 : Est-ce que tu pourrais mettre ton fichier, avec la formule =ESTNUM(RECHERCHE(9^9;TROUVE($D$3:$D$6;C8))), en pièce jointe ?

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Re

@ Staple1600 : Si je mets ta formule en B8, j'obtiens le message suivant :


@ plus
 

Pièces jointes

  • exceldownload.jpg
    exceldownload.jpg
    45.8 KB · Affichages: 29
  • exceldownload.jpg
    exceldownload.jpg
    45.8 KB · Affichages: 30
  • exceldownload.jpg
    exceldownload.jpg
    45.8 KB · Affichages: 34

Staple1600

XLDnaute Barbatruc
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Re

Et là tu as toujours l'erreur ?
Code:
Sub PourCISCO()
[B8:B13].FormulaR1C1 = "=ISNUMBER(LOOKUP(9^9,FIND(R3C4:R6C4,RC[1])))"
End Sub

Je viens de tester sur le fichier fourni par ED31 au message #3
 

ED31

XLDnaute Junior
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Ok, faute de temps je n'ai pu tester dernière formule mais la précédente allait bien comme je l'avais dit.
Je vais jeter un coup d'oeil.

Un goujat qui se repend..
 

Staple1600

XLDnaute Barbatruc
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Bonsoir à tous


ED31

Tu as compris pourquoi ces deux formules te concernent spécifiquement ? ;):p

ED31

Si tu préfères utilise cette version personnalisée rien que pour toi ;)

=ESTNUM(RECHERCHE(CODE("E")^CODE("D")+31;TROUVE($D$3:$D$6;C8)))
ou avec une spéciale dédicace ;)

=ESTNUM(RECHERCHE(CODE(CELLULE("adresse";$ED$31))^(N("by Staple 1600")+LIGNE());TROUVE($D$3:$D$6;C8)))
 

CISCO

XLDnaute Barbatruc
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Bonsoir à tous

@ Staple 1600
Je cherche surtout à comprendre comment fonctionne ta proposition, ce qui me serait plus facile si elle fonctionnait chez moi...

@ plus
 

ED31

XLDnaute Junior
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Merci pour ces jolies formules,

Je crois comprendre qu'elles servent à montrer qu'on peut trouver du Vrai partout.
Pour autant je n'ai pas vraiment compris leurs arcanes.
Mais je me suis familiarisé avec la fonction Recherche, dédaignée jusque là.
Bonne journée
 

Staple1600

XLDnaute Barbatruc
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Bonjour à tous

ED31
Donc tu n'avais pas remarqué ma délicate attention à ton endroit (lol ;)) ?

=ESTNUM(RECHERCHE(CODE("E")^CODE("D")+31;TROUVE($D $3:$D$6;C8)))


=ESTNUM(RECHERCHE(CODE(CELLULE("adresse";$ED$31))^ (N("by Staple 1600")+LIGNE());TROUVE($D$3:$D$6;C8)))

Les caractères colorés ne te rappellent rien ...:rolleyes:

NB: Les formules renvoient VRAI quand elles doivent renvoyer VRAI et ce pas partout, non :confused:
 

ED31

XLDnaute Junior
Re : Evaluer la présence de sous-chaînes d'une liste dans une cellule

Oui Merci,
Je suis très sensible à ce clin d'oeil.
Mais je suis fâché avec cette notation : je suis tombé en L1C1 quand j'étais petit... et je ne me suis pas relevé.
Qui ira de me sortir de mes errements ?
C'est plutôt le fonctionnement de la formule que je n'arrive pas à comprendre.
 

Statistiques des forums

Discussions
315 093
Messages
2 116 125
Membres
112 666
dernier inscrit
Coco0505