Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Programme VBA trouvant une valeur répondant à plusieurs conditions ET/OU

2 réponses
Avatar
dagada75
Bonjour à tous,
J'ai essayé de résoudre la problématique suivante à travers une requete SQL et une jointure de tables, mais cela s'est avéré insuffisant. Le VBA est mon dernier recours mais je suis plus que débutant en la matière.
Pour résumé, je dispose de 2 fichiers : une table CLIENTS et une table ELIGIBILITE.
La table CLIENTS contient le nom de plusieurs clients (national) et un ensemble de conditions (x3) qui les caractérise.
La table ELIGIBILITE contient les différents points d'éligibilité par région et les conditions auxquelles il faut répondre pour y appartenir. Cependant, une dernière condition, appelée RELATION ET/OU, précise si les conditions requises doivent s'accumulées ou pas. pour etre éligiile
Le but est de faire une jointure entre ces 2 tables sur les 3 conditions puis de voir à quelles conditions les clients peuvent légitimement prétendre.
Un exemple (fichier Excel) est joint à cette discussion et permet de mieux comprendre la solution recherchée (onglet 'résultats attendus') et la difficulté posée par la relation ET/OU (champ 'commentaire'). Mais ne pouvant attaché de pièces jointes je vais essayer de faire un copier/coller.
Merci pour votre aide car là je bloque... :o(

2 réponses

Avatar
dagada75
Le dimanche 24 Mars 2013 à 08:55 par dagada75 :
Bonjour à tous,
J'ai essayé de résoudre la problématique suivante à
travers une requete SQL et une jointure de tables, mais cela s'est
avéré insuffisant. Le VBA est mon dernier recours mais je suis
plus que débutant en la matière.
Pour résumé, je dispose de 2 fichiers : une table CLIENTS et une
table ELIGIBILITE.
La table CLIENTS contient le nom de plusieurs clients (national) et un ensemble
de conditions (x3) qui les caractérise.
La table ELIGIBILITE contient les différents points
d'éligibilité par région et les conditions auxquelles il
faut répondre pour y appartenir. Cependant, une dernière
condition, appelée RELATION ET/OU, précise si les conditions
requises doivent s'accumulées ou pas. pour etre éligiile
Le but est de faire une jointure entre ces 2 tables sur les 3 conditions puis
de voir à quelles conditions les clients peuvent légitimement
prétendre.
Un exemple (fichier Excel) est joint à cette discussion et permet de
mieux comprendre la solution recherchée (onglet 'résultats
attendus') et la difficulté posée par la relation ET/OU (champ
'commentaire'). Mais ne pouvant attaché de pièces jointes je vais
essayer de faire un copier/coller.
Merci pour votre aide car là je bloque... :o(


Table Clients
Client Condition1 Condition2 Condition3
C1 A B 01
C1 A B 03
C1 01 03 02
C2 X Y Z
C2 A B 01
C3 A B 02
C3 03 A B
C3 03 A 02
C4 A B 01
C4 A B 02
C4 A B 03
C4 01 02 03
C4 X Y Z
C4 03 A B
C4 02 01 03

Table éligibilité
Secteur Eligibilité Condition1 Condition2 Condition3 Relation
EST 01 A B 02 ET
OUEST 01 A B 01 ET
OUEST 01 A B 02 ET
OUEST 01 A B 03 ET
OUEST 02 A B 02 ET
OUEST 03 01 02 03 ET
SUD 01 01 02 03 ET
SUD 01 A B 03 OU --> éligible à "SUD - 01" si C1, C2, C3 ET C1=X, C2=Y, C3=Z ET C1=A, C2=B C3= 03 ou 02
SUD 01 A B 02 OU
SUD 01 X Y Z ET
SUD 02 03 A B ET
SUD 02 03 A 01 OU
SUD 02 03 A 02 OU --> éligible à "SUD - 02" si C1, C2=A, C3=B ET C1, C2=A, C3 ou 02
SUD 03 A B 01 ET
NORD 01 01 02 03 ET
NORD 01 02 01 03 ET

Table résultats attentus
Client Secteur Eligibilité
C3 EST 01
C4 EST 01
C4 OUEST 01
C3 OUEST 02
C4 OUEST 02
C4 OUEST 03
C4 SUD 01
C3 SUD 02
C1 SUD 03
C2 SUD 03
C4 SUD 03
C4 NORD 01
Avatar
Gloops
dagada75 a écrit, le 24/03/2013 09:05 :
table avec secteur, code secteur, condition 1, condition 2, condition


3, opérateur


J'avais un petit peu compris quelque chose à la lecture du texte, et
puis il semble que ça ne soit pas confirmé par l'exemple.

Résultat, nous voilà mal barrés.

Notamment, là,

SUD 01 A B 03 OU --> éligible à "SUD - 01" si C1, C2, C3= 03 ET C1=X, C2=Y,
C3=Z ET C1=A, C2=B C3= 03 ou 02



comment se fait-il qu'un champ "OU" soit expliqué par des "ET" ?