Recherche automatique de cotisation

pibes

XLDnaute Occasionnel
Bonsoir à toutes, Bonsoir à tous,

Quelqu'un pourrait-il m'aider à rechercher la cotisation que doit payer le membre, sachant que le nom peut apparaitre 2 fois (la 2 fois il y a un "1" derrière le prénom , si il est du comité c'est gratuit, même si il est élève.
Si il est moniteur ou aide-moniteur il payera 30 €, même si il est élève.
le prix de la cotisation se trouve "cate".

Je ne sais pas comment je peux faire, car pour moi il faut un tri des noms, prénoms, et adresses.

Cela est-il possible avec une macro.

voici un exemple j'espère que j'ai bien résumer le problème.

Je vous remercie d'avance.

Pibes
 

Pièces jointes

  • 13bis.xlsm
    274.8 KB · Affichages: 52
  • 13bis.xlsm
    274.8 KB · Affichages: 52

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonjour

Trois questions :
* Est-ce que dans ton vrai fichier tu as un 1 à la fin des prénoms correspondant aux doublons ?
* Est-ce que tu peux avoir plus de deux lignes pour la même personne, par ex, Admer Jacques, Admer Jacques1 et encore une fois Admer jacques1 ?
* Est-ce que la colonne des dates de naissance est complètement renseignée ?

@ plus
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonjour

Une possibilité en pièce jointe qui ne fonctionne bien (je l'espère) que si tu n'as au max que deux lignes par personne, ex Michel et Michel1 (peu importe l'ordre). Valable pour un tableau allant jusqu'à la ligne 150 au max.

J'ai défini les noms suivants dans le gestionnaire :

positionprénom1=EQUIV($C2&$E2&"1"&$F2;$C$1:$C$150&$E$1:$E$150&$F$1:$F$150;0)

positionprénomsans1=EQUIV($C2&STXT($E2;1;NBCAR($E2)-1)&$F2;$C$1:$C$150&$E$1:$E$150&$F$1:$F$150;0)

fam=SOMMEPROD(($C2=$C$1:$C$150)*(DROITE($E$1:$E$150;1)<>"1")*($G2=$G$1:$G$150)*($H2=$H$1:$H$150)) qui donne le nbre de personnes de la famille inscrites dans le club.

et d'autres plus simples
colgrade = bdonnees!$M$1:$M$150
listegrade = {"comité";"moniteur";"aide-moniteur";"élève"}

La formule dans B2 est
Code:
CHOISIR(MIN(EQUIV(M2;listegrade;0);EQUIV(SIERREUR(INDEX(colgrade;positionprénom1);M2);listegrade;0);EQUIV(SIERREUR(INDEX(colgrade;positionprénomsans1);M2);listegrade;0));cate!G$7;cate!G$5;cate!G$5;CHOISIR(MIN(fam;3);cate!H$1;cate!H$2;cate!H$3))

EQUIV(M2;listegrade;0) donne la position du grade dans la liste {"comité";"moniteur";"aide-moniteur";"élève"}

EQUIV(INDEX(colgrade;positionprénom1);listegrade;0) donnerait le grade correspondant au nom+prénom en cour avec un 1 en plus à la fin mais comme il ni y a pas forcément de nom+prénom avec un 1 en plus à la fin, il faut faire avec EQUIV(SIERREUR(INDEX(colgrade;positionprénom1);M2);listegrade;0)

Le prénom en cours a peut être déjà un 1 à la fin, il faut donc faire une recherche de la ligne, du grade sans ce 1 à la fin du prénom, ce qui donne EQUIV(SIERREUR(INDEX(colgrade;positionprénomsans1);M2);listegrade;0)).

Je ne veux pas ces 3 positions, mais la plus petite des trois, d'où le MIN initiale, la liste des grades étant classée dans l'ordre croissant des cotisations : quelqu'un du comité payant moins (cate!G$7) qu'un moniteur qui paye pareil qu'un aide-moniteur (cate!G$5) qui lui même paye moins qu'un élève. Dans ce dernier cas, il faut tenir compte du nombre de personnes de la famille inscrites, donné par fam. On utilise donc
Code:
CHOISIR(MIN(fam;3);cate!H$1;cate!H$2;cate!H$3)
Min(fam;3) puisqu'il ni y a pas de tarif spécial pour 4, 5 et plus de personnes.
Une personne paye 80 €
Deux personnes payent chacune (80+70)/2 = 75 €
Trois personnes payent chacune (80+70+60)/3 = 60 €.
Pour cette dernière partie, j'ai préféré adopter cette méthode, mettre pour chaque personne de la famille, la somme moyenne à payer, plutôt que la somme la plus importante pour le premier membre de la famille sur la liste, un peu moins pour la seconde, et ainsi de suite. dans ce dernier cas, il aurait fallu aussi mettre dans la formule une partie repérant la position dans la liste par rapport à la famille. Pas très compliqué, mais donnant une formule encore plus grande.

Ce qui rend la formule longue, c'est le fait de devoir travailler avec le prénom, soit sans le 1 à la fin, soit tel que, et avec un 1 en plus.

@ plus
 

Pièces jointes

  • 13bis.xlsm
    282.7 KB · Affichages: 44
  • 13bis.xlsm
    282.7 KB · Affichages: 46
Dernière édition:

pibes

XLDnaute Occasionnel
Re : Recherche automatique de cotisation

Bonsoir à toutes et tous,

Je suis désolé de répondre si tard, mais j'ai eu des problèmes de PC.

J'ai des 1 derrière les prénoms, car je n'ai rien trouvé de mieux à faire, Mais si je dois le mettre une 3 fois il y aura un 2.

La colonne des dates de naissance est complétée.

La formule pour les cotisations il faut que le prix soit jusque car je voudrais savoir si elle sont payée en une ou en plusieurs fois.

merci d'avance.

pibes
 

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonsoir

Bonsoir à toutes et tous,

J'ai des 1 derrière les prénoms, car je n'ai rien trouvé de mieux à faire, Mais si je dois le mettre une 3 fois il y aura un 2.
....
pibes

Autrement dit, tu peux avoir certaine fois 3 lignes pour la même personne, par ex Jean Grileau, Jean Grileau1 et Jean Grileau2. Dans ce cas, ma proposition ne fonctionnera pas systématiquement correctement, en fonction du grade correspondant à Jean Grileau2. Je vais modifier mon fichier en conséquence.

En attendant, regarde si ma précédente proposition convient pour les personnes n'ayant qu'une ou deux lignes dans ton fichier.


@ plus
 

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonjour

J'ai modifié dans le dernier fichier la formule donnant fam, le nombre de membres de la famille incrits dans le club, pour ne pas prendre en compte les lignes contenant un prénom finissant par 2.

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonjour

Une autre possibilité qui fonctionne avec des prénoms sans chiffre à la fin. Pour mettre en évidence les doublons, j'ai mis une macro, GroupColor3CritèresNomPrénomDatedenaissance() (à relancer à chaque changement (au besoin, rajouter un bouton ou un raccourci clavier)), (macro faite à partir d'une proposition de J. Boisgontier, disponible (Doublons 2 critères)).

@ plus

P.S : Modification de la définition du nom fam le 19/04
 

Pièces jointes

  • 13suite.xlsm
    289.7 KB · Affichages: 34
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonjour

Idem, avec une formule en colonne B un peu plus courte, toujours pour des prénoms sans chiffre à la fin.

@ plus

P.S : Modification de la définition du nom fam le 19/04
 

Pièces jointes

  • 13suitesuite.xlsm
    288.8 KB · Affichages: 37
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Bonsoir

Encore plus court...

@ plus

P.S : Modification de la définition du nom fam le 19/04
 

Pièces jointes

  • 13suitesuitesuite.xlsm
    289 KB · Affichages: 41
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Recherche automatique de cotisation

Re

Et encore un tout petit peu plus court...

@ plus

P.S : Modification de la définition du nom fam le 19/04
 

Pièces jointes

  • 13suitesuitesuitesuite.xlsm
    289.4 KB · Affichages: 41
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 081
Membres
103 457
dernier inscrit
fab2614