Creer un listing grace a un useform

Bonjour

le fichier joint, permet de gérer une liste d adhérent d'une asso.

il y a un bouton macro "ajouter un adh"

et un bouton "supprimer adh"

Ce bouton permet d'ajouter un adherent puis aprés clic sur bouton validation de l'useform les infos apparaisent dans la feuille listing.

Les cellules colorées (A B N O P ) de façon automatique ne sont pas inscrites par le pupitreur mais vba le crée de façon automatique ,

le bouton supp= appelle un useform "n° adhérent à supprimer"

suppression de la ligne

pour eviter les mauvaises manip, aucune formule doivent apparaitre dans les cellules.

en colonne a : n°

en colonne B: c'est le mois et l'année du jour de création

en N : age (annee de colonne A - annee de naissance)

en o : formule de concatener (nom prenom)

en P : c'est un code géographique perso (que l'on pourrait modifier)

=SI(ET($E6="";$D6="");"";

SI(OU(ET(H6="";I6="";J6="");ET(H6="";J6="france"));"manque info";

SI(J6<>"France";"G";

SI(OU(H6={62155;62520;62630;62780});"A";

SI(GAUCHE(H6;2)="62";"B";

SI(GAUCHE(H6;2)="59";"C";

SI(GAUCHE(H6;2)={"02";"60";"80"};"d";

SI(GAUCHE(H6;2)={"75";"77";"78";"91";"92";"93";"94";"95"};"E";"F"

))))))))

Quelqu'un du forum aurait il une idée.?

merci d'avance pour votre aide

Michel

Bonjour

Un fichier sans les macros pas utile utile

CHVALET a écrit :

pour eviter les mauvaises manip, aucune formule doivent apparaitre dans les cellules.

CHVALET a écrit :

Les cellules colorées (A B N O P ) de façon automatique ne sont pas inscrites par le pupitreur mais vba le crée de façon automatique ,

C'est à ce moment là que VBA doit juste mettre les valeurs et non les formules

Bonjour le forum et banzai64

j'ai du mal me faire comprendre, désolé.

en fait j'utilise toujours des formules mais les macros sont plus utiles, car plus "pro" et cela empeche les mauvaises manip

mais je ne connais pas malheureusement pas le vba

michel

Bonsoir

Banzai64 a écrit :

Un fichier sans les macros pas utile utile

Tu indiques que la macro s'occupent des cellules colorées (qui ne contiennent pas toutes des formules)

Ton fichier avec les les macros en places est indispensable

Bonsoir

C'est bien ça le problème, il n'y a pas de macro, car je ne connais pas le vba.

en fait, la feuille "listing" vue dans ce fichier ci joint correspond à ce que je voudrais avoir mais en utilisant des macros,

Actuellement j'utilise uniquement des fonctions et formules dans les cellules (sauf pour A et B, où je les inscrit.

et pour les couleurs, je les mets à la souris!

j'ai simplement créer les boutons d'action, mais derrière il n y a pas les sub qui font les actions.

en colonne a: l'incrémentation devrait se faire dès que le bouton "ajouter un adh" est cliqué. (dans la sub)

en colonne b: c'est le mois et l'année au moment de la création (dans la sub)

de la colonne C à M : ce sont les infos inscrites par le pupitreur

de la colonne N à P : les infos seraient inscrites directement en rapport avec les infos de C à M inscrites.

J'ai simplement mis les formules dans les cellules

Cordialement

Michel

Bonjour

Tu rectifieras si je me trompe

Tu saisis les infos de C à J

Ensuite en cliquant sur le bouton tu voudrais que les colonnes A,B et N,O,P se complètent

Questions:

Comment savoir si c'est la dernière ligne ?

Comment savoir si une erreur d'appui sur le bouton ?

Comment faire une fois les valeurs inscrites si tu constates une erreur dans les données ?

Trop compliqué par des boutons

Un essai avec une macro événementielle

A tester

Bonjour Banzai64

Merci pour cette macro evenementielle. (mais ça veut dire quoi, )

ça fonctionne bien.

Est ce possible d'ajouter le quadrillage et couleur verte à chaque création d'une nouvelle ligne ?

Bug dans Le code geo, il donne dtoujours la réponse G

Pour la colonne F: en fait pour une inscription du 1er au 31 du meme mois, je souhaiterais avoir uniquement mois et année et non une date.

Ex tous ceux inscrits en juillet 2013 = "juillet 2013", en aout 2013 = "aout 2013" ( ou 07-2013 et 08-2013 = texte??? )

Le format date n'est pas intéressant car 31 choix possible/mois

Une solution (pas sur), concatener (mois(aujourdui);"-";annee(aujourdhui)

est ce possible d'avoir une verification et signaler (pop up?) si doublon avec la colonne "nom prenom"

"cet adherent est deja inscrit, il a le n°..."

merci

Michel

Bonjour

Avant de te faire le quadrillage et la vérification des doublons (on affichera juste un message ?)

Donnes exactement les formules que tu veux

Bonjour

en colonne a: ok

en colonne B : ok

en colonne -c : on doit avoir 1 ou 0 (message d erreur apparaitra en cas d'erreur)

en colonne -d-e= ras

en colonne f: on doit avoir uniquement M /F (message d erreur apparaitra en cas d'erreur)

en colonne g: une date de naissance ou vide

si en colonne h/ou/i/j vide alors "manqsue info" en P

en colonne k : on doit avoir (1ou 0) => (message d erreur apparaitra en cas d'erreur)

L/M/n/o = tt ok

en colonne P:

=SI(ET($E223="";$D223="");"";

SI(OU(H223="";I223="";J223="");"manque info";

SI(J223<>"France";"G";

SI(OU(H223={62155;62520;62630;62780});"A";

SI(GAUCHE(H223;2)="62";"B";

SI(GAUCHE(H223;2)="59";"C";

SI(GAUCHE(H223;2)={"02";"60";"80"};"d";

SI(GAUCHE(H223;2)={"75";"77";"78";"91";"92";"93";"94";"95"};"E";"F"

))))))))

Merci

Michel

Bonjour

CHVALET a écrit :

macro evenementielle. (mais ça veut dire quoi, )

Lorsque un évènement (modification d'une cellule (c'est avec celui-ci) , changement de cellule, changement de page etc ) se produit, on l'intercepte et on fait ce que l'on veut (en principe)

A voir

Bonjour

Tes solutions sont parfaites.

Quand je rentre une info et que je clic sur touche "entrée" ou touche "tab"; le curseur ne se déplace pas sur la colonne suivante ? Est ce possible d'y remédier?

Est ce possible de bloquer les cellules colorées N-O-P pour éviter une mauvaise manipulation?

En cliquant sur le bouton "nouveau"; est ce possible que le curseur se positionne en colonne C de la 1ère ligne vierge sous le tableau pour être prêt à créer un nouvel adhérent?

En cliquant sur le bouton "supprimer" est ce possible d'avoir un useform " Quel n° adh voulez vous supprimer ?" e t si on donne la réponse 5; la ligne où le n° 5 apparait en colonne A est supprimé ?

J'ai fait une erreur dans mon dernier message c'est en colonne B et non F pour l'info concatener (annee(aujourdui();"-";mois(aujourdhui())

En colonne A est-ce que le n° peut commencer par l'année de creéatuion ex : 1er n° de 2013 = 13001, puis 13002 etc...

encore merci

Michel

Bonjour

A tester

Salut

J'ai créé 2 colonnes supplémentaires pour des besoins statistiques

A B C D

centre n°adh saison mois 1ère fois etc...

Colonne A

dans une feuille menu : A1 = nom A2= Paris

A chaque insctiption la colonne A = Paris

*Saison

Colonne C :

=annee(aujourdhui()) ; format yyyy (ex 2013)

** Mois d'inscription

colonne D:

= mois (aujourdhui()); format standart (ex 8)

*** Le n° adhérent :

Voici une formule pour le n° d'adhérent

il y a donc 3 cas,

Aucun adhérent inscrit dans le listing

Cas 1 = 1ère création, tableau vide, sauf ligne des titres (donc du texte)

il y a déjà des adhérents mais il faut vérifier l'année d'inscription (car j'utiliserai cet outil plusieurs années)

Cas 2 : = le dernier adhérent inscrit n'est pas de la même année (ex listing 2012 et on est en 2013)

Cas 3: = le dernier adhérent inscrit est de la même année que celui à ajouter

j'ai trouvé cette formule :

=SI(OU(ESTTEXTE(C231);C231<>ANNEE(AUJOURDHUI()));CNUM(DROITE(ANNEE(AUJOURDHUI());2))*1000+1;A231+1)

**** Formule dans colonnes PQR

est ce possible que les formules n'apparaissent pas dans ces 3 colonnes comme tu l'as fait dans la colonne n° adh ?

***** Tri du listing

peux tu créer un Bouton : tri alphab du listing

et un bouton : tri / n°adherent

merci encore pour ce projet

Cdl

Michel

ps: est que l'on peut modifier le titre du post ? car on n'utilise pas d'useform dans cette solution!

Bonjour

Tu as oublié le fichier avec tes modifications

CHVALET a écrit :

ps: est que l'on peut modifier le titre du post ? car on n'utilise pas d'useform dans cette solution!

Bien sur

Bonjour

je te joins le fichier

j'ai utilisé "créer une macro" pour connaitre l'écrriture mais évidemment cela fonctionne qu'avec des formules "apparentes" , pas dans les macros car mon vba n'est pas complet.

voici ce que j'ai trouvé mais, ça doit etre simple pour toi.

1-' calcul de la SAISON en fonction de l'année du jour (colonne B)

=YEAR(NOW())"

Ex lecture : 2013

'2- 'calcul dU MOIS SAISON en fonction du mois du jour (colonne c)

MONTH(NOW())"

Ex lecture : 07

3-'calcul dU n° adherent en fonction de l'année en cours, et du n° précedent (colonne A)

"=IF(OR(ISTEXT(R[-1]C[1]),RC[1]<>YEAR(TODAY())),VALUE(RIGHT(YEAR(TODAY()),2))*1000+1,R[-1]C+1)"

4- calcul de l'age (colonne O)

=RC[-13]-YEAR(RC[-7])"

5- Tri par n° d'ahérent mais avec clés suivantes :

Entre ligne 8 et 100000

Clé: colonne B puis C puis A

après chaque enregistrement, il faudrait ajouter un tri pour etre sûr que le n° suit le précédent dans la même saison et meme mois

6-malheureusement dans la même saison on peut créer des doublons (nom prenom identique)

et deux n° identiques peuvent être créés!

je ne vois pas la solution

cordialement

Michel

Bonjour

CHVALET a écrit :

deux n° identiques peuvent être créés!

Ta formule n'est pas là pour l'éviter ?

A vérifier

Bonsoir

bizarre, j'étais sur d'avoir répondu ce matin !

Bref, je recommence

==> Le code en colonne B fonctione que si le tableau est trié par ordre croissant de n° adh

* J'ai créé une page d'accueil (menu)

où j'ai mis 2 paramètres

saison en cours (avec formule annee de maintenant()) et nom du centre (choix grace à donnée/validation/liste)

* Dans la page Listing,

la colonne A se remplit correctement avec le nom du centre.

MAis le N° n'est plus correct, car chaque centre a sa propre numération...(le n°13001 existe dans chaque centre)

Aurais tu une idée?

Doublon:

La même personne ne peut pas etre inscrite 2 fois dans le même centre et dans la même saison.

Comment gérer ce problème à l'inscription?

Cdl

Michel

Bonjour

A tester

Bonjour

* Quand je rentre un nouvel adherent du centre STE,

si je mets un doublon, dentre "existe déjà" apparait mais elle est suivi d'une erreur 1004 (cellule protégée en ecriture)

* si je change de centre (ex lto ) : 2 pblemes

=> je veux entrer le 232e adherent du tableau et le 1er Lto

je peux inscrire uniquement le nom, (les autres champs impossible)

=>et la ligne vient s'intercaler sous la ligne 164,

JE ne trouve pas la logique de ce tri.

Théoriquement, le ri devrait se faire par saison/centre/n°

Est ce que si le n° commençait par le nom du centre , ce serait plus simple à trouver une solution?

ex STE13-001 ou STE-13001 OU STE13001 ?

Tu peux supprimer la colonne Q est elle rempalcée par ta colonne S ou supprimer S et mettre la formule dans Q

Elles ont la même utilité, la tienne est plus précise. (je m'en sers pour un index/equiv sur une autre feuille)

Cordialement

Michel

Bonjour

A tester

Rechercher des sujets similaires à "creer listing useform"