Fonction si avec condition multiple complexe
Résolu/Fermé
Elcaprio
Messages postés
71
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 août 2016
-
Modifié par Elcaprio le 22/10/2013 à 10:22
Elcaprio Messages postés 71 Date d'inscription mercredi 10 octobre 2007 Statut Membre Dernière intervention 11 août 2016 - 23 oct. 2013 à 15:30
Elcaprio Messages postés 71 Date d'inscription mercredi 10 octobre 2007 Statut Membre Dernière intervention 11 août 2016 - 23 oct. 2013 à 15:30
A voir également:
- Fonction si avec condition multiple complexe
- Fonction si et - Guide
- Excel cellule couleur si condition texte - Guide
- Ecran multiple pc - Guide
- Excel cellule choix multiple - Guide
- Fonction moyenne excel - Guide
4 réponses
Elcaprio
Messages postés
71
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 août 2016
4
22 oct. 2013 à 10:39
22 oct. 2013 à 10:39
Petites précisions qui peut avoir son importance pour les recherchev;
- la plage clt_1 est sur une autre feuille
- la première colonne de la place clt_1 correspond au contenu de la colonne D, a savoir les numéros de siret.
- la plage clt_1 est sur une autre feuille
- la première colonne de la place clt_1 correspond au contenu de la colonne D, a savoir les numéros de siret.
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
155
22 oct. 2013 à 10:49
22 oct. 2013 à 10:49
Bonjour,
En colonne D j'ai mon numéro de siret; je me base dessus pour chercher dans une plage, que je vais nommé ici clt_1, diverses informations.
En colonne E j'ai le CA réalisé durant l'année.
Les clients devant prendre le statut "à conserver" sont les clients dont la colonne E n'est pas vide et pour lesquels j'ai des informations dans ma plage clt_1.
Les clients devant prendre le statut "à créer" sont les clients dont la colonne E n'est pas vide (j'ai réalisé un CA avec eux) et qui n'ont aucune information dans ma plage clt_1.
=si(estvide(E5);"à supprimer";si(nbval(clt_1)=0;"à créer";"à conserver"))
==> nbval compte le nombre cellules non vide dans une plage de cellule.
Autrement si nbval(clt-1) = 0 ==> si le nombre de cellules contenant une valeur dans ta plage de cellule = 0, ca veut dire que tu n'as aucune information, alors "à créer".
En colonne D j'ai mon numéro de siret; je me base dessus pour chercher dans une plage, que je vais nommé ici clt_1, diverses informations.
En colonne E j'ai le CA réalisé durant l'année.
Les clients devant prendre le statut "à conserver" sont les clients dont la colonne E n'est pas vide et pour lesquels j'ai des informations dans ma plage clt_1.
Les clients devant prendre le statut "à créer" sont les clients dont la colonne E n'est pas vide (j'ai réalisé un CA avec eux) et qui n'ont aucune information dans ma plage clt_1.
=si(estvide(E5);"à supprimer";si(nbval(clt_1)=0;"à créer";"à conserver"))
==> nbval compte le nombre cellules non vide dans une plage de cellule.
Autrement si nbval(clt-1) = 0 ==> si le nombre de cellules contenant une valeur dans ta plage de cellule = 0, ca veut dire que tu n'as aucune information, alors "à créer".
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
Modifié par eriiic le 22/10/2013 à 11:01
Modifié par eriiic le 22/10/2013 à 11:01
Bonjour à tous,
nbval compte le nombre cellules non vide dans une plage de cellule.
A ceci prêt qu'une formule retournant "" comme valeur sera considérée comme non vide, alors que visuellement elle l'est.
eric
nbval compte le nombre cellules non vide dans une plage de cellule.
A ceci prêt qu'une formule retournant "" comme valeur sera considérée comme non vide, alors que visuellement elle l'est.
eric
Elcaprio
Messages postés
71
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 août 2016
4
Modifié par Elcaprio le 22/10/2013 à 11:43
Modifié par Elcaprio le 22/10/2013 à 11:43
J'ai pris une autre approche, en partant du principe que ma recherchev me renvoi l'erreur n/a si elle ne trouve pas le siret que j'ai sur ma feuille, je lui dit d'afficher "client à créer" puisque le contenu de la colonne D n'est pas retrouvé dans clt_1.
Ensuite si E est vide alors "à supprimer" et si les deux conditions précédente ne sont pas validé, alors c'est que j'ai mon siret sur ma plage et que la cellule E n'est pas vide donc "à conserver".
Le problème que j'ai maintenant, c'est la redondance des sirets dans mon fichier, et là je pense qu'il faut une macro qui verifie si la cellule du dessus ou celle du dessous a la même valeur et si oui, supprimer la ligne. Quelque chose dans ce goût la. Mais je ne maitrise absolument pas le VBA et avec les macros automatique je ne voit pas comment faire.
Il faut aussi prendre en compte que j'ai des clients étranger qui n'ont pas de siret, donc la cellule D est vide pour eux.
PS:
En fait c'est encore plus compliqué car il faut que je prenne en compte les groupes.
A savoir que sous le même siret je peut avoir plusieurs clients (exemple: si vous vendez des produits a plusieurs intermarché, vous aurez plusieurs magasins donc plusieurs clients, cependant tous auront le siret d'intermarché).
Il faut donc que je supprime les lignes des doublons a condition qu'il n'y ai pas de CA réalisé.
L'algorithme donne un truc dans ce genre:
en admettant que l'on soit dans la cellule D2 et qu'il y ait 50 ligne dans le tableau.
Tant que ligne<50
si D1=D2 ou si D3=D2 et que E2 vide alors supprime la ligne, sinon ligne +1.
Ensuite si E est vide alors "à supprimer" et si les deux conditions précédente ne sont pas validé, alors c'est que j'ai mon siret sur ma plage et que la cellule E n'est pas vide donc "à conserver".
Le problème que j'ai maintenant, c'est la redondance des sirets dans mon fichier, et là je pense qu'il faut une macro qui verifie si la cellule du dessus ou celle du dessous a la même valeur et si oui, supprimer la ligne. Quelque chose dans ce goût la. Mais je ne maitrise absolument pas le VBA et avec les macros automatique je ne voit pas comment faire.
Il faut aussi prendre en compte que j'ai des clients étranger qui n'ont pas de siret, donc la cellule D est vide pour eux.
PS:
En fait c'est encore plus compliqué car il faut que je prenne en compte les groupes.
A savoir que sous le même siret je peut avoir plusieurs clients (exemple: si vous vendez des produits a plusieurs intermarché, vous aurez plusieurs magasins donc plusieurs clients, cependant tous auront le siret d'intermarché).
Il faut donc que je supprime les lignes des doublons a condition qu'il n'y ai pas de CA réalisé.
L'algorithme donne un truc dans ce genre:
en admettant que l'on soit dans la cellule D2 et qu'il y ait 50 ligne dans le tableau.
Tant que ligne<50
si D1=D2 ou si D3=D2 et que E2 vide alors supprime la ligne, sinon ligne +1.
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
22 oct. 2013 à 11:48
22 oct. 2013 à 11:48
Re,
au lieu de mettre des rustines un peu partout pour en faire une usine à gaz si tu déposais un extrait de ton fichier de base en mettant dessus le résultat attendu ?
cjoint.com, coller ici le lien fourni.
Soit très clair et très précis sur les explications.
eric
au lieu de mettre des rustines un peu partout pour en faire une usine à gaz si tu déposais un extrait de ton fichier de base en mettant dessus le résultat attendu ?
cjoint.com, coller ici le lien fourni.
Soit très clair et très précis sur les explications.
eric
Elcaprio
Messages postés
71
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 août 2016
4
Modifié par Elcaprio le 22/10/2013 à 12:20
Modifié par Elcaprio le 22/10/2013 à 12:20
ok, je viens d'en faire une réplique, je ne peux mettre l'original pour des raisons de confidentialité évidente.
https://www.cjoint.com/?3JwmpfXHfjj
Je n'ai pas mis le cas ou il faut supprimer le ligne a savoir s'il y a 2 siret identique et que les 2 CA sont a 0.
Merci
https://www.cjoint.com/?3JwmpfXHfjj
Je n'ai pas mis le cas ou il faut supprimer le ligne a savoir s'il y a 2 siret identique et que les 2 CA sont a 0.
Merci
Elcaprio
Messages postés
71
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 août 2016
4
22 oct. 2013 à 13:55
22 oct. 2013 à 13:55
En jouant avec des filtres j'arrive au résultat que je souhaite.
C'est pas l'idéal mais sa fera l'affaire.
Merci pour vos réponses.
C'est pas l'idéal mais sa fera l'affaire.
Merci pour vos réponses.
Elcaprio
Messages postés
71
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
11 août 2016
4
Modifié par Elcaprio le 22/10/2013 à 10:59
Modifié par Elcaprio le 22/10/2013 à 10:59
Bon, a priori j'ai réeussi a me débloqué en faisant:
Par contre, 2eme problème: le fichier sur lequel je travail est une extraction d'un logiciel tiers, il ce trouve que parfois j'ai plusieurs fois le même siret dans ma colonne D, je voudrais supprimer les redondances afin d'avoir chaque client une seule fois. Avez vous une idée ?
=SI(ESTVIDE(E3);"client à supprimer";SI(ESTNA(RECHERCHEV(D3;clt_1;1;FAUX));"client à créer";"client à conserver"))
Par contre, 2eme problème: le fichier sur lequel je travail est une extraction d'un logiciel tiers, il ce trouve que parfois j'ai plusieurs fois le même siret dans ma colonne D, je voudrais supprimer les redondances afin d'avoir chaque client une seule fois. Avez vous une idée ?
Lentzouille
Messages postés
670
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
11 septembre 2020
64
22 oct. 2013 à 11:50
22 oct. 2013 à 11:50
Bonjour,
Pour une meilleure lisibilité veuillez nous mettre le fichier à disposition via,
www.cjoint.com;
Cdt,
Pour une meilleure lisibilité veuillez nous mettre le fichier à disposition via,
www.cjoint.com;
Cdt,