|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
je bute sur un test de doublon explication : dans un tableau (A4:J100) j'ai une formule en G4:G100 (cotisation club) =SI(Adh_Individuel!$O2<20;SI($B4<>"";$AU$24;"-");SI(B4<>"";$AU$25;"-")) ou 20 est le resultat de l'age par datedif sur la feuille adh_.. AU24 =13€ (jeune) ; AU25 = 19€ (autres) tout ceci fonctionne, je voudrais maintenant tester la plage A4:A100 pour voir s'il y a un doublon sur des noms car la personne ne doit pas payer 2 ou plusieurs fois la cottisation mais peut avoir plusieurs licences, et evidement seule la 1ere cellule de la personne devra etre renseignée en (G4:G100) en format conditionel je sais les voir les doublons mais apres je n'arrive pas a l'imbriquer dans la formule du dessus en format conditionnel (=NB.SI(A4:A100;A1)>1 j'espere avoir été un peu clair merci du coup de pouce |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 313 ![]() |
Bonjour,
Pour tester les doublons dans une colonne, par exemple la colonne A avec 100 lignes et comme première ligne une étiquette titre, la formule est (en A2) =NB.SI($A$2:$A$100;A2)>1
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
il me donne faux en reponse alors que j'ai 4 doublons
mais la question est comment l'imbriquer cette formule dans la 1ere pour ne pas imposer une valeur dans la colonne G4:G100 si doublons |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Philippe TulliezDéveloppeur et formateur VBA, Excel et Word. Inscription : janvier 2010 Messages : 1 313 ![]() |
Bonjour,
Ce type de formule je l'utilise constamment dans la mise en forme conditionnelle et cela fonctionne nickel. Pour empêcher d'entrer une donnée dans une cellule si elle a déjà été encodée, il faut utiliser la Validation de données et comme critère de validation personnalisée et inverser le test. ici il s'agit de =NB.SI($A$2:$A$100;A2)<2 Bien entendu en supposant que cela se passe sur la plage de A2 à A100.
__________________
Philippe Tulliez http://philippe.tulliez.be Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau) Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
désolé cela ne change rien
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
Bonjour,
As-tu essayé en imbriquant comme cela Code :
=SI(NB.SI($A4:$A$12;A4)<2;SI(Adh_Individuel!$O2<20;SI($B4<>"";$AU$24;"-");SI($B4<>"";$AU$25;"-"));"-") Cordialement. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
ah, ca commence a fonctionner
dans la liste j'ai 4 doublons sur des personnes seul le 1er fonctionne CaD qu'il ne lui remet de cottisation je vais regarder au plus pres , peut etre une fonction relative ou absolue de cellule merci du coup de main le fichier est trop volumineux + donnees confidentielles mais peut etre une image partielle de la feuille ferait l'affaire |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
As-tu bien noté
(pas de $ avant le 4). Cordialement. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
oui oui j'ai bien regardé
le tableau doit il etre trié dans la base ? car dans le mode de saisie des adherents,je peux retrouver ex: adam en ligne 8 puis 50 comme washington en lig 12 et 88 etc etc pour la saisie j'opere dans un formulaire VBA, qui m'inscris les adh dans cette feuille, puis sont basculé dans la base ou saisi les licences respectives avec cout etc |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
si je regarde la cellule G89
=SI(NB.SI($A89:$A137;A89)<2;SI(Adh_Individuel!$O37<20;SI($B89<>"";$AU$24;"-");SI($B89<>"";$AU$25;"-"));"-") elle fait reference a des lignes vides A137 si je mets le tableau en ref absolu ca marche pas |
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
Citation:
Ainsi, seul le dernier des doublons aura une cotisation puisqu’il c’est le seul cas où NB.SI retournera 1. Je joints le fichier Test afin que tu puisses adapter le code si ton besoin est différent. Cordialement. |
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
Ta formule n’est pas correcte
Code :
=SI(NB.SI($A89:$A137;A89)<2;SI(Adh_Individuel!$O37<20;SI($B89<>"";$AU$24;"-");SI($B89<>"";$AU$25;"-"));"-") note bien le $ pour fixer la fin de plage. Cordialement. |
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
ok, je reviens demain je joindrai le fichier simplifié
bonne nuit merci |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
voila le fichier allegé
dans la feuille "base" il y a plusieurs doublons duris (lign 13 , 39) - de santi (lig 10, 35) - ca fonctionne sur ces 2 la puis voyaux (lig 35,33) , marez (lig 22, 40) , legoff( lig20,41), kersante (lig 18,42) rien formule en colonne G |
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 696 ![]() |
Dans la feuille Adh_Individuel, certains noms étaient orthographiés avec un espace à la fin.
Cordialement. |
|
|
00
|
|
|
#16 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 12 ![]() |
mille merci à toi
tout fonctionne a merveille et pourtant j'avais regardé comme quoi!! bonne journée
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com