Comment tester la présence ou l absence d une chaine de caractère

bonjour a tous

je souhaiterais faire plusieurs tests dans une cellule

par exemple tester

- Présence de "Seamonkey" j affiche Navigateur Seamonkey
- Présence de "Safari" et absence de "Chrome" ou "Windows" j affiche Navigateur Safari

Présence de "Chrome" et absence de "Chromium" ou "Edge" j affiche Navigateur Chrome

si aucune condition remplie alors on affiche nouveau

en fait je dois faire passer pas moins de 10 tests , donc si j ai déjà le départ je pense me débrouiller pour achever les conditions

un tes grand merci a tous pour cette aide

Bonjour,

Voici une proposition sur les 3 premières lignes, les formules individuelles pour trouver l'élément recherché dans le texte.

Puis les 3 lignes suivantes, les formules sont imbriquées pour n'en faire plus qu'une seule, et suivant le contenu du texte, renvoi le navigateur.

La formule unique:

=SIERREUR(SI(ET(TROUVE("Safari";A6;1);ESTERR(TROUVE("Chrome";A6;1));ESTERR(TROUVE("Windows";A6;1)));"Safari");"")&
SIERREUR(SI(TROUVE("Seamonkey";A6;1);"Seamonkey");"")&
SIERREUR(SI(ET(TROUVE("Chrome";A6;1);ESTERR(TROUVE("Chromium";A6;1));ESTERR(TROUVE("Edge";A6;1)));"Chrome");"")

Voilà pour le principe, à vous de vous amuser pour y ajouter les autres conditions.

Cdlt

bonjour

un tout tres grand merci pour ce code

c est vraiment gentil

je l essaye et je reviens vous dire quoi

bonjour,

autre possibilité VBA

9rechmot.xlsm (24.21 Ko)

A+

merci pour cette deuxième solution

je la test après

voici le premier test pour réaliser ceci et bien entendu tout ce test ce réalise dans une seule cellule

- Présence de "Firefox" et absence de "Seamonkey" ou "Opera"affiche Mozilla Firefox
- Présence de "Seamonkey" affiche Seamonkey
- Présence de "Safari" et absence de "Chrome" ou "Windows"affiche Safari
- Présence de "Chrome" et absence de "Chromium" ou "Edge" affiche Chrome
- Présence de "Chromium" affiche Chromium
- Présence de "Edge" affiche Edge
- Présence de "Trident" affiche Internet Explorer
- Présence de "OPR" ou "Opera" affiche Opera
- Présence de "Konqueror" affiche Konqueror
- Présence de "w3m"affiche w3m
- Présence de "Wget" affiche Wget
- Présence de "curl" affiche curl

=SIERREUR(SI(ET(TROUVE("Safari";A6;1);ESTERR(TROUVE("Chrome";A6;1));ESTERR(TROUVE("Windows";A6;1)));"Safari");"")&
SIERREUR(SI(TROUVE("Seamonkey";A6;1);"Seamonkey");"")&
SIERREUR(SI(ET(TROUVE("Chrome";A6;1);ESTERR(TROUVE("Chromium";A6;1));ESTERR(TROUVE("Edge";A6;1)));"Chrome");"")&
SIERREUR(SI(ET(TROUVE("Firefox";A6;1);ESTERR(TROUVE("Seamonkey";A6;1));ESTERR(TROUVE("Opera";A6;1)));"Firefox");"")&
SIERREUR(SI(TROUVE("Chromium";A6;1);"Chromium");"")&
SIERREUR(SI(TROUVE("Edge";A6;1);"Edge");"")&
SIERREUR(SI(TROUVE("Trident";A6;1);"Trident");"")&
SIERREUR(SI(TROUVE("Konqueror";A6;1);"Konqueror");"")&
SIERREUR(SI(TROUVE("w3m";A6;1);"w3m");"")&
SIERREUR(SI(TROUVE("Wget";A6;1);"Wget");"")&
SIERREUR(SI(TROUVE("curl";A6;1);" curl");"")&

il ne me reste plus que cette condition
- Présence de "OPR" ou "Opera" affiche Opera

SIERREUR(SI(ET(TROUVE("OPR";A6;1);(SI(ET(TROUVE("Opera";A6;1);"Opera");"")

es ce que cela est bon ?

OU et pas ET

SIERREUR(SI(OU(TROUVE("OPR";A6;1);TROUVE("Opera";A6;1));"Opera");"")

Edit ; pas vérifié, pas bonne, je reviens dans un moment

Voilà la formule corrigée:

=SI(ET(ESTERR(TROUVE("OPR";A6;1));ESTERR(TROUVE("Opera";A6;1)));"";"Opera")
ecran5

je viens d essayer la formule complète mais j ai une erreur

merci de votre aide a tous

=SIERREUR(SI(ET(TROUVE("Safari";A6;1);ESTERR(TROUVE("Chrome";A6;1));ESTERR(TROUVE("Windows";A6;1)));"Safari");"")&
SIERREUR(SI(TROUVE("Seamonkey";A6;1);"Seamonkey");"")&
SIERREUR(SI(ET(TROUVE("Chrome";A6;1);ESTERR(TROUVE("Chromium";A6;1));ESTERR(TROUVE("Edge";A6;1)));"Chrome");"")&
SIERREUR(SI(ET(TROUVE("Firefox";A6;1);ESTERR(TROUVE("Seamonkey";A6;1));ESTERR(TROUVE("Opera";A6;1)));"Firefox");"")&
SIERREUR(SI(TROUVE("Chromium";A6;1);"Chromium");"")&
SIERREUR(SI(TROUVE("Edge";A6;1);"Edge");"")&
SIERREUR(SI(TROUVE("Trident";A6;1);"Trident");"")&
SIERREUR(SI(TROUVE("Konqueror";A6;1);"Konqueror");"")&
SIERREUR(SI(TROUVE("w3m";A6;1);"w3m");"")&
SIERREUR(SI(TROUVE("Wget";A6;1);"Wget");"")&
SIERREUR(SI(TROUVE("curl";A6;1);" curl");"")&
SI(ET(ESTERR(TROUVE("OPR";A6;1));ESTERR(TROUVE("Opera";A6;1)));"";"Opera")

Ceci, j'ai remplacé TROUVE par CHERCHE pour ne pas faire de distinction entre les majuscules et les minuscules.

=SIERREUR(SI(ET(CHERCHE("Safari";A6;1);ESTERR(CHERCHE("Chrome";A6;1));ESTERR(CHERCHE("Windows";A6;1)));"Safari");"")&
SIERREUR(SI(CHERCHE("Seamonkey";A6;1);"Seamonkey");"")&
SIERREUR(SI(ET(CHERCHE("Chrome";A6;1);ESTERR(CHERCHE("Chromium";A6;1));ESTERR(CHERCHE("Edge";A6;1)));"Chrome");"")&
SIERREUR(SI(ET(CHERCHE("Firefox";A6;1);ESTERR(CHERCHE("Seamonkey";A6;1));ESTERR(CHERCHE("Opera";A6;1)));"Firefox");"")&
SIERREUR(SI(CHERCHE("Chromium";A6;1);"Chromium");"")&
SIERREUR(SI(CHERCHE("Edge";A6;1);"Edge");"")&
SIERREUR(SI(CHERCHE("Trident";A6;1);"Trident");"")&
SIERREUR(SI(CHERCHE("Konqueror";A6;1);"Konqueror");"")&
SIERREUR(SI(CHERCHE("w3m";A6;1);"w3m");"")&
SIERREUR(SI(CHERCHE("Wget";A6;1);"Wget");"")&
SIERREUR(SI(CHERCHE("curl";A6;1);"curl");"")&
SIERREUR(SI(CHERCHE("opera";A6;1);"Opera");"")&
SIERREUR(SI(CHERCHE("Opr";A6;1);"Opera");"")

Pour les 2 dernières lignes on doit pouvoir faire un OU , mais je dois m'absenter un moment. je regarderai plus tard

un grand merci pour la réponse

je viens quand même d essayer la solution mais excel a trouve des erreurs et a corrige de cette façon

=SIERREUR(SI(ET(CHERCHE("Safari";A6;1);ESTERR(CHERCHE("Chrome";A6;1));ESTERR(CHERCHE("Windows";A6;1)));"Safari");"")&
SIERREUR(SI(CHERCHE("Seamonkey";A6;1);"Seamonkey");"")&
SIERREUR(SI(ET(CHERCHE("Chrome";A6;1);ESTERR(CHERCHE("Chromium";A6;1));ESTERR(CHERCHE("Edge";A6;1)));"Chrome");"")&
SIERREUR(SI(ET(CHERCHE("Firefox";A6;1);ESTERR(CHERCHE("Seamonkey";A6;1));ESTERR(CHERCHE("Opera";A6;1)));"Firefox");"")&
SIERREUR(SI(CHERCHE("Chromium";A6;1);"Chromium");"")&
SIERREUR(SI(CHERCHE("Edge";A6;1);"Edge");"")&
SIERREUR(SI(CHERCHE("Trident";A6;1);"Trident");"")&
SIERREUR(SI(CHERCHE("Konqueror";A6;1);"Konqueror");"")&
SIERREUR(SI(CHERCHE("w3m";A6;1);"w3m");"")&
SIERREUR(SI(CHERCHE("Wget";A6;1);"Wget");"")&
SIERREUR(SI(CHERCHE("curl";A6;1);"curl");"")&
SIERREUR(SI(CHERCHE("opera";A6;1);"Opera");"")&
SIERREUR(SI(CHERCHE("Opr";A6;1);"Opera");"")

j ai juste oublie une dernière condition

si présence de Chrome et de Safari et de Edj alors affiche edje

voila et je pense que je serais complet

un très grand merci

je viens d essayer cette ligne en complément mais sans succès

 SIERREUR(SI(ET(CHERCHE("Chrome";A6;1);(SI(ET(CHERCHE("Safari";A6;1));(SI(ET(CHERCHE("Edg";A6;1)));"Edje");"")

Bonjour à tous,

Je pense qu'il est possible d'y parvenir avec cette formule matricielle (en validant par ctrl + shift + enter) :

=INDEX(Liste;EQUIV(1;NB.SI(A6;"*"&Liste&"*");0))

en disposant les données dans l'ordre de priorité, c'est-à-dire :

Seamonkey

Chromium

Edge

Chrome

Windows

Safari

dans la liste (à créer à côté) nommée "Liste" (qui devrait de préférence être un tableau structuré).

Cdlt,

Essayez celle-ci

=SUBSTITUE(SIERREUR(SI(ET(CHERCHE("Safari";A6;1);ESTERR(CHERCHE("Chrome";A6;1));ESTERR(CHERCHE("Windows";A6;1)));"Safari");"")&
SIERREUR(SI(CHERCHE("Seamonkey";A6;1);"Seamonkey");"")&
SIERREUR(SI(ET(CHERCHE("Chrome";A6;1);ESTERR(CHERCHE("Chromium";A6;1));ESTERR(CHERCHE("Edge";A6;1)));"Chrome");"")&
SIERREUR(SI(ET(CHERCHE("Firefox";A6;1);ESTERR(CHERCHE("Seamonkey";A6;1));ESTERR(CHERCHE("Opera";A6;1)));"Firefox");"")&
SIERREUR(SI(CHERCHE("Chromium";A6;1);"Chromium");"")&
SIERREUR(SI(OU(CHERCHE("Edge";A6;1);ET(CHERCHE("Chrome";A6;1);CHERCHE("Safari";A6;1);CHERCHE("Edge";A6;1)));"Edge");"")&
SIERREUR(SI(CHERCHE("Trident";A6;1);"Trident");"")&
SIERREUR(SI(CHERCHE("Konqueror";A6;1);"Konqueror");"")&
SIERREUR(SI(CHERCHE("w3m";A6;1);"w3m");"")&
SIERREUR(SI(CHERCHE("Wget";A6;1);"Wget");"")&
SIERREUR(SI(CHERCHE("curl";A6;1);"curl");"")&
SIERREUR(SI(CHERCHE("opera";A6;1);"Opera");"")&
SIERREUR(SI(CHERCHE("Opr";A6;1);"Opera");"");"FAUX";"")

bonjour Galopin

il est terrible aussi ta solution ...

mais cela serait il possible que de pouvoir sélectionner plusieurs mots en même temps

un grand merci aussi pour la solution

Arturo

je n ai plus aucune erreur , je vais donc essayer et voir ce que cela donne

il n y ajuste qu une seule condition qui ne fonctionne pas

si Chrome et Safari et Edg présent alors affiche Edje

Etant donné la grande quantité de conditions, je pense qu'il est préférable de passer par une fonction personnalisée dont la formule se résume à ceci:

=test(A1)

merci pour cette solution c est super

mais en fait je dois tester un tableau avec des lignes

dont certaines lignes il y a safari , d autres chrome , d autres firefox ou encore edge ou des fois deux navigateurs des fois 3 ect...

donc il faut absolument que la formule tiennent sur une seule ligne

comme les versions précédentes et qui fonctionnent super bien

"donc il faut absolument que la formule tienne sur une seule ligne"

Comprend pas, la formule "=Test(A1)" ne tient pas 1 seule ligne!!!! Elle est bien plus courte que les formules excel précédentes, Non?

elle s'utilise de la même façon.

Sinon pouvez-vous déposer ici un quelques lignes de votre fichier (dans données confidentielles)

bonsoir

merci pour la réponse et surtout l aide

en fait j ai un site internet et je souhaite connaitre le navigateur que l utilisateur utilise pour pour visualiser mon site

pour ce faire j utilise une variable qui me permet de récupérer une ligne avec a l intérieur le nom du navigateur , mais pas très lisible

donc je souhaiterais insérer cette ligne dans un fichier excel et que direct il me dise quel est le navigateur utiliser

voici le lien ou l on en parle

https://lafibre.info/navigateurs/user-agent/

par exemple si je récupère cette ligne

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66

je veux direct savoir qu il s agit de edge

ou si je récupère celle ci

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0

qu il sa git de firefox

Rechercher des sujets similaires à "comment tester presence absence chaine caractere"