Microsoft 365 Référence indirecte

micheldu52

XLDnaute Occasionnel
Bonsoir,

Je bute sur un problème, besoin de votre aide!

Avec, par exemple, les valeurs suivantes dans les cellules A1= "toto" A2 = "test" A3 contient "=" (issu d'un choix de l'utilisateur par menu déroulant) A4= "oui" A5 = "Non"

j'ai besoin d'écrire SI(A1=A2;A4;A5) (ce qui, ici, doit donner comme résultat "Non" dans cet exemple)

MAIS...., je n'arrive pas à "intégrer" le = du A3 (qui peut aussi être > >= < <= <>.....)

=si(A1&A2&A3;A4;A5) ou autre concatener sont traduits comme =si("toto=test";"oui";"non") est le "égal" est fondu dans la chaîne et n'est pas reconnu comme opérateur de comparaison....

Auriez-vous l'astuce qui m'échappe.

Merci d'avance!

"Portez vous bien"

Cordialement,

Michel
 

micheldu52

XLDnaute Occasionnel
Bonsoir Dranreb,

merci pour ton aide.
Dans l’utilisation réelle, il y a
* d’autres opérateurs logiques (débute, contient, ne contient pas) qu’il me reste à intégrer....
* le test de validation globale portera sur 5 séries de ce type (il faut que A1-A2-A3 et B1-B2-B3....E1-E2-E3) soient tous probants pour valider la série
J’essaye donc de ne pas avoir une formule de 3kms...
Dur dur....
Merci pour ta suggestion, je retiens.
Je continue à chercher aussi.
J’espère une issue dans l’esprit de l’utilisation de & mais je mouline à vide pour l’instant!
Bien cordialement,
Michel
 

CISCO

XLDnaute Barbatruc
Bonjour

Qu'est-ce que tu auras dans A1, A2, B1, B2..., du texte ou des nombres, ou les deux ? Parce qu'avec des nombres, cela fonctionne avec la fonction XL4 EVALUER. Cf un exemple dans le gestionnaire de noms puis dans la colonne E.

Comment veux tu écrire les opérateurs contient, ne contient pas...?

@ plus
 
Dernière édition:

micheldu52

XLDnaute Occasionnel
Bonjour à tous et merci,
Je réponds du smartphone et je ne pourrais regarder le fichier joint (merci) que ce soir.
Précisions:
Tels « toto » et « test » c’est exclusivement du texte que je dois traiter...
Il y a une dizaine de comparateurs logiques pour 5 séquences soit 50 tests si je ne trouve pas une formule générique qui traite directement cela....
Pour contient ne contient pas et débute je compte utiliser (mais je n’ai pas encore testé) le principe suivant:
*test* (si vrai contient si faux ne contient pas)
Test* pour débute
Ce qui revient à les assimiler à = dans le traitement du comparateur logique (avec une introduction de l’étoile dans le A3 (de mon exemple) saisi par l’utilisateur sans *
merci pour vos recherches!

Bien cordialement!
 

micheldu52

XLDnaute Occasionnel
bonjour,

ce sont ceux listés au depart

=
<>
<
<=
>=
>
debute
Contient
Ne contient pas

Merci pour votre aide, je voudrais une formule générique qui gère en cascade les 5 tests (dans mon exemple les a1a2a3..... B1b2b3 plutôt qu’une très longue formule )que je peux écrire) mais qui va être au kms .....
Cordialement
Michel
 

micheldu52

XLDnaute Occasionnel
Bonsoir,
En PJ un exemple (simplifié mais complet) de ce que je cherche (les données sont totalement fantaisistes mais sont du même principe que le vrai fichier)

Les données de départ sont en colonnes H à L (près de 50 colonnes en réalité et sur plusieurs milliers de lignes)

L'utilisateur n'aura accès qu'aux cellules bleues pour matérialiser sa requête

Je cherche la formule de G2 (à projeter de G2 en G4000) pour que les cellules vertes (ici, dans la réalité elles ne seront pas colorisées) s'incrémentent de 1 chaque fois qu'une ligne satisfait à toutes les conditions.

Remarque 1: les cellules rouges sont ici à zéro, si elles ont la (même) valeur que le vert immédiatement supérieur, cela marche aussi pour la suite).

Remarque 2 : en plus des opérateurs logiques de la ligne 2, j'utiliserai aussi Debute/contient/ne contient pas mais comme écris plus haut, je gérerais cela ensuite, probablement avec le joker * dans le test

Help pour la formule, je n'arrive pas à transcrire cela dans une formule unique (je peux en écrire une aux (avec un x....) kms mais je voudrais éviter de tester à la queue leu-leu toutes les possibilités avec des si imbriqués qui retestent si l'utilisateur a écrit > ou alors >= et ainsi de suite)

Merci pour votre aide !
 

Pièces jointes

  • exemple.xlsx
    13.9 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Là j'ai l'impression qu'il s'agit d'autre chose que du problème que vous exposiez au début …
Il y a une ressource pour sélectionner des lignes d'une base d'après des critères choisis ou tapés dans des ComboBox dans un UserForm. Et la recherche intuitive sur les textes est possible. Ne serait-ce pas ça que vous cherchez à faire ?
 

micheldu52

XLDnaute Occasionnel
Bonsoir,
Merci du temps passé....

Non c'est bien la même chose.

Si j'arrive à passer en ma formule cela me suffit. si je peux passer dans un si(....) la concatenation de (en G2 par exemple) si(H2<=A3;alors;sinon) cela "me suffit" mais la concatenation m'envoie si("H2<=A3";alors;sinon) c'est à dire non pas une formule interpretable par le si mais un texte entre "" ininterpretable donc (pour l'instant en tout cas)
Si cela marche pour H2, en la projetant vers le bas cela marchera pour tous
J'ai simplifié le raisonnement ci dessus en le limitant à la colonne H, mais si je trouve "l'astuce" pour H2 (en référence ici à A2 et A3) je m'occupe du reste
Mais je coince... fort !
 

micheldu52

XLDnaute Occasionnel
En excel je me débrouille plutôt bien, mais pas en VBA....
Le classeur ensuite sera utilisé par « monsieur tout le monde »
Je priorise la solution par formule pour que cela soit simple pour l’utilisateur... mais il faut avant tout que je solutionne cela... d’une façon ou d’une autre.

pour l’instant je sais que je peux le faire en écrivant une formule à rallonge (et pas très belle....) avec des si imbriqués qui gèrent en cascade chaque opérateur pour chaque colonne, soit une cinquantaine de tests dans la formule....
Ça marchera mais bonjour l’écriture et l’intervention ultérieure éventuelle en modification.....
Mais ça fonctionnera en ligne 2 dans mon exemple et donc projetable sur toutes les autres lignes.
 

micheldu52

XLDnaute Occasionnel
Ou alors, je viens d’y penser, je rajoute 5 colonnes chacune gérant un des critères en balayant tous les opérateurs possibles et en renvoyant en sortie 1 ou 0
Une fois écris Pour une seule Celulle c’est projetable à droite et vers le bas et je me contente alors dans ma colonne de travail de récupérer le produit des 0 et des 1 qui me permettra de savoir si cela vérifie bien toutes les conditions....
Donc ainsi je n’aurais qu’une formule à écrire avec une dizaine de cas de figure à gérer.....
Tu en penses quoi?
 

Discussions similaires