Mettre ok ou non en fonction de différents critères

Bonjour,

Je souhaiterais avoir votre aide s'il vous plait pour un problème rencontré avec mon fichier.

Dans le fichier, j'ai 5 colonnes de A à E mais on fait focus sur les colonnes de B à E. Les valeurs de la colonne E sont triées

Je voudrais mettre ok au niveau de la colonne Best selon les conditions suivantes:

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i)="" et qty(i+1)="") et (Active/no Active (i)= "Active" et Active/no Active (i+1)="Active")

Alors Best(i+1)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i)="" et qty(i+1)="") et (Active/no Active (i)= "no Active" et Active/no Active (i+1)="no Active")

Alors Best(i+1)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i)="" et qty(i+1)="") et (Active/no Active (i)= "Active" et Active/no Active (i+1)="no Active")

Alors Best(i)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i) < qty(i+1)) et (Active/no Active (i)= "Active" et Active/no Active (i+1)="no Active")

Alors Best(i)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i) > qty(i+1)) et (Active/no Active (i)= "Active" et Active/no Active (i+1)="no Active")

Alors Best(i)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i) > qty(i+1)) et (Active/no Active (i)= "no Active" et Active/no Active (i+1)="Active")

Alors Best(i+1)="Ok"

-

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i) < qty(i+1)) et (Active/no Active (i)= "no Active" et Active/no Active (i+1)="Active")

Alors Best(i+1)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i)="" et qty(i+1)="") et (Active/no Active (i)= "no Active" et Active/no Active (i+1)="Active")

Alors Best(i+1)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i) < qty(i+1) ) et (Active/no Active (i)= "no Active" et Active/no Active (i+1)="no Active")

Alors Best(i+1)="Ok"

- Si (Nom 2 (i)=nom 2(i+1)) et (qty(i) > qty(i+1) ) et (Active/no Active (i)= "no Active" et Active/no Active (i+1)="no Active")

Alors Best(i)="Ok"

- Si (Nom 2 (i)<>nom 2(i+1)) et (Active/no Active (i)= "no Active"

Alors Best(i)="Ok"

- Si (Nom 2 (i)<>nom 2(i+1)) et (Active/no Active (i)= "Active"

Alors Best(i)="Ok"

8ok-no.xlsx (52.75 Ko)

Bonjour,

J'ai créé toutes les logiques en formules. Dans un premier temps vu la complexité des conditions pouvez-vous faire des tests afin de vérifier si tout va bien? Après on renseignera la colonne C. Les formules ont été écrites dans l'ordre de votre message.

15ok-no.xlsx (73.07 Ko)

Re,

J'ai créé tant bien que mal une formule. Mais.... pas vraiment sûr de mon coup!

6ok-no.xlsx (54.35 Ko)

Merci mais la formule ne marche pas si on a le même nom 2 apparait plus de deux fois comme par exemple le nom 2 (1906680).

Dans ce cas si les qty sont vides, on doit placer ok au niveau du dernier nom 2.

Si quelqu'un avait une idée avec une macro se serait la bienvenue

Merci

6ok-no-2.xlsx (54.47 Ko)

Désolé mais ça me parait compliqué pour mes vieux neurones

D'accord j'attend les réponses des autres

Merci

Bonjour Makhou

Il doit y avoir une solution en VBA avec les tableaux structurés pour rendre les formules plus lisibles : dans Excel "Insertion /Tableau " (je n'ai pas vu la méthode de fcyspm30)

C'est une piste que je ne suivrai personnellement, je ne l'ai pas complètement exploré

Si j'arrive à quelque chose ce ne sera pas instantané

J'espère que quelqu'un d'autres passera par là, mais tu peux dire déjà si la solution VBA peux te convenir?

Oui bien sûr une solution vba me conviendrait bien

Merci d'avance

Voilà un début de solution VBA dans le fichier Excel,

désolé le code est non commenté et mes variables sont toutes en logique anglaise,

ATTENTION seule la première condition est programmée même si elle n'a pas rencontré de données pour la satisfaire : tu m'expliqueras?

Je t'en souhaite bonne réception, la fonction à découvrir et pas seulement à lancer est SetOK

merci je vais essayer de le regarder après je te reviendrai

Merci beaucoup

image

Bonjour je n'arrive pas exécuter le programme

Bonjour Makhou

Je te présente mes excuses, j'avais fait des modifications de dernières minutes. J'ai instancié toutes tes conditions dans le même ordre. J'ai renommé la macro à lancer SetCriteriaColumns.

Merci mais le code me semble incomplet car si on a le même nom 2 plusieurs fois, les conditions ne seront pas remplies c'est à dire son a par exemple 190860 quatre fois, on doit placer le "ok" unique au niveau de la dernière ligne correspondante si les qty sont = " "

Je ne trouve pas 190860, peux tu préciser la valeur il manque un caractère?

Ajoute le numéro de ligne dans la feuille excel, ce sera plus précis

Je te site : "ok" unique au niveau de la dernière ligne correspondante si les qty sont = " ",

Personnellement j'ai implémenté les conditions que tu as précisé, je pense qu'il y a une incohérence?

Je me chargeais de proposer une aide technique, si le fonctionnel doit être revu, nous sommes peut être dans le problème rencontré par fcyspm30?

Je te suggère de comprendre aussi comment le code technique répond aux spécifications fonctionnelles.

Ainsi tu pourras adapter le code à tes demandes d'évolutions

voila un exemple

image

Dans ton tableau tu as 4 Ok en rouge et tu en voudrais un seul lorsqu'il y a répétition de valeur dans la colonne "Nom 2" et que Qty="" et la colonne "active/no Active" = "no Active" (la c'est moi qui l'invente, ou peut-on avoir n'importe quelle valeur dans cette colonne?)

Donc parmi les lignes en rouge seule la ligne 4816982 devrait avoir un Ok, est-ce bien cela?

Oui c'est ça mais cette n'est qu'un exemple, il y'en a d'autres de ce type

Il y en a d'autres de ce type ?

oui oui si vous regardez bien, vous verrez ce que je vous dit.

En tout cas merci.

Rechercher des sujets similaires à "mettre fonction differents criteres"