Recherche à plusieurs critères ....

Résolu/Fermé
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016 - 12 juil. 2016 à 12:46
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016 - 12 juil. 2016 à 21:16
Bonjour,

Voilà pour ex :
ma cellule A1 contient un nom "Bretagne et ma cellule B2 contient une référence "Niv.1",
cette référence à une valeur associé "figé" par ex :
Niv.1 = 14; Niv.2 =20 et ainsi de suite

Sachant que pour l'instant il y a 8 noms possibles et 12 référence possibles pour chaque nom ...

Sachant que chaque nom peut se trouver n'importe ou dans la colonne A ...

Je vous écrit ma formule, mais malheureusement elle ne tient compte que de la cellule B2 :
=SI(NB.SI(A1;"*Bretagne*");0)+SI(NB.SI(B1;"*Niv.1*");"14";0)

Que se passeras-t-il lorsque la formule trouveras des noms approchant, elle va s'arrêter sur la 1ère partie et s'effectuer 2 fois ou + ?
Ex : Corse du Nord; Corse du Sud

J'aurais bien besoin de votre aide, j'espère avoir été clair !

Par avance, Merci à vous des réponses que vous pourriez me faire

Cordialement

15 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié par Vaucluse le 12/07/2016 à 13:00
Bonjour

oui votre formule ne fera pas la différence entre Corses du sud et du nord
donc si vous écrivez Corse entre les astérisques, elle vous en comptera 2
Si vous voulez spécifier entre les deux, il faudra mettre le nom complet
Mais si vous utilisez un nom complet pour tous les postes les astérisques deviennent inutiles.

Mais pour que nous, nous puissions y voir clair, il faudrait nous dire ce que vous comptez ,obtenir avec ce type de formule, parce que là , c'est le brouillard

Là votre formule renvoie 0 si la 1° partie contient Bretagne et devrait ajouter 14 si la seconde partie contient Niv.1... mais risque fort de vous renvoyer une erreur avec le 14 entre guillemets qui se transforme donc en texte et la première partie qui renverra FAUX.

si vous voulez qu"'une condition élimine l'autre:

=SI(NB.SI(A1;"*Bretagne*");0;SI(NB.SI(B1;"*Niv.1*");"14";0))

à vous lire pour plus d'infos?

crdlmnt



La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 13:41
Merci de m'avoir répondu !

Je cherche simplement une formule qui prend en compte le nom en A1 + le Niv."x" en B1 et me donne par ex en C1 la valeur du Niv.x .

par ex :
(A1)Bretagne + (B1)Niv.1 = (C1) 14
ou
(A1)Bretagne + (B1)Niv.2 = (C1) 20

Les 2 champs A1+B1 sont importants pour moi, car si on change le nom en A1, les valeurs des Niv."x" ne sont + les mêmes

Par ex
(A1)Corse du Nord + (B1)Niv.1 = (C1) 12
(A1)Corse du Sud + (B1)Niv.1 = (C1) 10

Cordialement.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié par Vaucluse le 12/07/2016 à 14:12
Désolé mais ça ne m'avance pas beaucoup, vu que je ne connais rien de votre fichier
voyez si vous pouvez déposer un modèle (avec quelques explications et des exemples de ce que vous voulez obtenir sur)
https://www.cjoint.com/
déposez le ficheir / crééez le lien en bas de page copier le en haut de page et revenez le coller ici

à vous liore
cdmnt
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 14:38
Merci, mais je ne suis pas sûr que mon fichier d'exemple va vous être d'un grand secours
Je sais que ma formule n'est pas correcte mais c'est la seule que je pensais avoir une chance de modifier pour arriver à ce que je voulais ...

Je cherche simplement à récupérer les 2 cellules pour avoir une valeur.
Partant du principe que les 2 cellules sont liées ...

https://www.cjoint.com/c/FGmmFqFTaS4
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 14:44
Ah si, par ex dans mon fichier si dans la cellule A1 on enlève Bretagne et que l'on mette n'importe quoi, par ex : Toto,
eh bien j'ai toujours le même résultat, évidemment faux

La formule ne tient pas compte de la cellule A1 ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
12 juil. 2016 à 14:46
Effectivement et en prime les formule sur les trois lignes font référence à la 1°
vous devriez commencer par créer un tableau de référence avec en colonne A la liste des régions à partir de A2 et une colonne ensuite pour mettre en ligne les valeurs à obtenir pour chaque niveau
après n y verrais plus clair.
Ceci dit vos formule n'expliquent toujours pas ce que vous voulez faire avec le signe + qui vous renvoie une erreuiur si
Peux pas vous dire mieux avec ça, à moins que je tombe juste tout à fait par par hasard avec cette proposition

=SI(ET(NB.SI(A1;"<>Bretagne*");NB.SI(B1;"*Niv.1*"));0)
vous pouvez rajouter des conditions à la suite du ET

bonne chance
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 14:46
Au mieux j'aimerais avoir 0, si "Toto" n'existais pas dans la formule ...
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 14:53
et bien le signe + c'est pour mettre dans la formule tous les cas possibles que j'ai besoin ...
Pour faire simple en écriture :
Bretagne + Niv.1 = 14; Bretagne + Niv.2 = 16; et ainsi jusqu'à Niv.12 ...
Je ne sais pas comment faire autrement, à part "additionner" les formules !
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
12 juil. 2016 à 16:27
Alors je répéte faites un tableau de référence selon ce modèle

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

ajustez le à vos besoins et déposez le sur le site (n'oubliez pas de poser le lien ici)

sinon votre formule va être imbuvable

à vous lire
crdlmnt
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
12 juil. 2016 à 16:49
... et en fait, voila ce que pourrait donner le modèle que je vous propose
voyez si'il peut vous convenir, adaptez le et revenez avec plus d'infos sur vos données exactes si difficultés.
https://www.cjoint.com/c/FGmoU7bcDuK

crdlmnt
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 17:59
Merci à vous pour le fichier, mais j'ai un petit pb a cause du champ déroulant car dans mes cellules ou le Niv.x est écrit, il y a déjà d'autres champs que je récupère ......

Puis-je vous demander encore une petite chose, svp.
cette formule marche très bien :
=SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.1*"));10)
:
celle-ci aussi :
=SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.1*"));10)+SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.2*"));11)

Mais aurait-il un moyen de l'écrire + simplement ?

Par avance, Merci à vous.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié par Vaucluse le 12/07/2016 à 18:06
Sans tableau de références non je ne pense pas, la seule chose que vous pouvez supprimer, c'"est comme déjà dit,les astérisques si les cellules ne contiennent rien d'autre que les textes cherchés
de plus cette dernière formule va vous poser des problèmes avec le + quand le premier item sera "FAUX" et le second 11
si vous voulez regrouper les deux résultats; remplacez le + par &
et si vous voulez que la première condition soit annulée pour pouvoir appliquer la seconde écrivez:
=SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.1*"));10);SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.2*"));11))
Sans voir vos données, c'est à peu près tout ce que je peux en dire
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 18:35
En tous cas un Grand Merci à vous pour votre patience et le temps que vous m'avez accordé !

Grâce à vous je viens de comprendre le fonctionnement des astérisques, c'est un +.
De plus avec votre aide en grande partie, j'ai quand même une formule qui fonctionne même si elle n'est peut-être pas très optimisée ....
J'ai pas trop le choix pour le moment, je vais m'en contenter, elle sera juste "longue" à écrire ...

Bonne soirée à vous et encore Merci

Cordialement.
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 18:55
En vérité je me suis "avancé" un peu trop vite car si cela fonctionne :
=SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.1*"));10)+SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.2*"));11)

Dès que l'on dépasse le Niv.9, la formule additionne.
Par exemple au Niv.12, elle additionne Niv.1 + Niv.2, pas terrible ...
On a l'impression que le contrôle se faît mal !
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 19:03
Svp, existe-t-il un moyen rigoureux de ne tenir compte de ce qui est entre astérisques genre :
"*Corse du Sud*"
"*Niv.1*"

?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
Modifié par Vaucluse le 12/07/2016 à 19:29
Je ne peux plus répondre là... je ne sais plus quoi dire.. sans données, je n'irais pas plus loin.
D'autant plus que vous ne tenez pas compte de ce que je vous explique pour supprimer ce signe + qui vous pose problème
revoyez mon dernier message.et la dernière formule

et pour en finir avec les tétoiles:
NB.SI(Cell;"mot") détetcte si la cellule contient le mot et seulement ce mot
NB.SI(Cell;"Mot*" détecte si un texte dans la cellule commence par le mot
NB.SI(Cell;"*Mot") détect si un texte dans la cellule se termine par le mot
NB.SI(Cell;"*mot*") détecte si le texte contient le mot n'importe où

et si le mot cherché est inscrit dans une cellule de référence, vous pouvez remplacer "*mot*" par:
"*"&cell&"*" ou cell&"*" ou "*"&cell
ce sera tout pour moi à défaut d'en savoir plus
Bonne chance
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 19:35
Merci pour ces précisions et désolé d'avoir "mangé" le "+" en route
Alors ce signe "+" marche apparemment dans ma formule et si je l'enlève, je n'ai plus rien qui fonctionne, la valeur est à 0 et si je met un & alors là j'ai une valeur que je ne comprend pas tellement elle est élevée ....
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 19:38
re-pardon et si j'applique votre dernière formule, j'obtiens comme résultat :
#VALEUR!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 411
12 juil. 2016 à 19:57
Celle ci, qui n'a pas de signe +?
=SI(ET(NB.SI(A3;"*Corse du Sud*");NB.SI(B3;"*Niv.1*"));10;SI(ET(NB.SI(A3;"Corse du Sud*");NB.SI(B3;"*Niv.2*"));11;""))
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 19:56
Ok, je viens de comprendre l'importance du mode d'écriture :
" et pour en finir avec les tétoiles: " et ce qui suit ... Merci !
0
Momie0 Messages postés 14 Date d'inscription mardi 12 juillet 2016 Statut Membre Dernière intervention 12 juillet 2016
12 juil. 2016 à 21:16
celle-ci fonctionne mais pas celle du billet n°12
0