Faciliter la saisie, mise en forme et duplication de feuille

Bonjour à toutes et à tous

Pour notre association sans but lucratif, nous aimerions avoir une feuille des présences quotidiennes

Chacun entrera son nom et mettra ses heures d'arrivées et de départs.

Nombreux souhaitent que la saisie soient simplifiées au maximum, c.a.d. qu'en tapant les 2 ou 3 premières lettres de leur prénom, celui-ci s'affiche. D'où la liste factice en marge, mais je n'arrive qu'à faire une liste déroulante qui n'est absolument pas pratique, nous avons 80 membres déjà. Certaines personnes ont des prénoms à rallonges et pour d'autres, lorsqu'elles sont plusieurs a avoir le même prénoms, il faut rajouter leur noms. Aussi si une solution existe pour faciliter la saisie, basée sur une liste qui grossira, ce serait géniale

Pour une lecture aisée, nous aimerions que la colonne B affiche "présent" lorsque les personnes le sont et que leur prénoms s'affiche soit en italic soit en gris une fois parties. Et là encore, je suis perdu.

Nous aimerions avoir le total des présent en haut à coté de la date. Je dois réussir à le faire si je fais un calcul valeur sur "présent" non ?

Et finalement, nous aimerions pouvoir avoir une macro qui multiplie la feuille "model" en mettant la date du premier jour de l'an dans la celulle A1 et dans son onglet respectif et ainsi de suite jusqu'au 31 décembre. Ainsi nous aurions une fichier pour toute l'année si bien sûr c'est possible. Ainsi nous aurons l'agenda intégré et les notes / infos également. Tout en un seul fichier Chose que je suis aux antipodes de savoir faire si toutefois c'est possible, sans quoi... ben... on fera à la main

Pouvez-vous m'aider à réaliser tout ceci s'il vous plaît ?

21classeur1.xlsx (25.68 Ko)

Bonjour,

ci-jointe une première proposition

Je n'ai pas traité

Serji0 a écrit :

Pour une lecture aisée, nous aimerions que la colonne B affiche "présent" lorsque les personnes le sont et que leur prénoms s'affiche soit en italic soit en gris une fois parties. Et là encore, je suis perdu.?

car ce point demande précision : quelles conditions à remplir pour détecter la présence ou le départ d'une personne ?

on peut faire une liste qui se rallonge sans passer par du VBA

par contre pour poursuivre, je ne comprends pas

1 : quand le mot "présent" doit s'inscrire en colonne B

2 : à quoi sert la colonne H (sous le mot "agenda"), y_a t_il un lien avec la colonne précédente

donnes moi plus d'explication pour que je puisse t'aider

Bonjour,

ci-jointe 2ème proposition avec saisie plus intuitive via entrée de la première lettre du nom, puis de la seconde .....

Bonjour Thevy et Gullbaud

Merci pour votre aide, c'est très apprécié

Thev a écrit :

1ère et 2 ème proposition

Mille mercis, la deuxième fonctionne très bien ici. Je n'ai pas compris au début, ne voyat qu ele champs liste déroulante vide s'afficher puis, après un temps, j'ai eu l'idée de taper une lettre et là ! J'ai applaudis . C'est génial !!!

gullaud a écrit :

on peut faire une liste qui se rallonge sans passer par du VBA

par contre pour poursuivre, je ne comprends pas

1 : quand le mot "présent" doit s'inscrire en colonne B

Dès lors qu'une personne s'inscrit dans ce registre/agenda et quelle met son heure d'arrivée, le mot présent indique qu'elle est là. Sitôt qu'elle part - qu'elle entre l'heure de son départ, le mot présent disaprait et je souhaiterais que le nom soit mis en forme soit en italique, soit en grisé. Ceci pour une meilleure lecture.

gullaud a écrit :

2 : à quoi sert la colonne H (sous le mot "agenda"), y_a t_il un lien avec la colonne précédente

donnes moi plus d'explication pour que je puisse t'aider

L'agenda servira à noter les différents rendez-vous de chacun. Ils sont suffisament rares pour dire que cet espace suffira amplament à l'ensemble des membres.

D'où l'importance de pouvoir créer l'année toute entière facilement, avec les dates qui se mettent automatiquement sur chaque page et chaque onglet, si possibilité il y a dans Excel

Et donc, non, il n'y pas de lie avec l'autre colonne.

Encore merci à vous deux, votre aide représente beaucoup

Sincèrement

Sergio

bonjour,

Suite à tes précisions, ci-jointe nouvelle proposition

thev a écrit :

bonjour,

Suite à tes précisions, ci-jointe nouvelle proposition

WOW ! C'est génial ! Vous êtes génial !

J'ai essayé de mettre en F1 le total des "présent" avec NBVAL mais je ne sais plus faire.

Pensez-vous qu'il y a une macro qui peut être crée pour dupliquer la feuille model en 365 fois qui mettrait la date dans chaque celulle a1 et chaque onglet correspondant pour créé un calendrier feuille par feuille ? Ou devrons nous faire ça à la main auquel cas, je ferais un model que je pourrais utiliser chaque année en mettant au 1er janvier la date manuellement et sur les autres pages uen formule pour dupliquer éles date automatiquement.

Comment faites-vous pour qu'une fois partie, lle nom se grise svp ? Je ne vois rien dans votre feuille...

Mille merci encore

Serji0 a écrit :

Pensez-vous qu'il y a une macro qui peut être crée pour dupliquer la feuille model en 365 fois qui mettrait la date dans chaque celulle a1 et chaque onglet correspondant pour créé un calendrier feuille par feuille ?

Oui, c'est possible. Actuellement si vous changez la date en A1, la feuille modèle est automatiquement dupliquée
Serji0 a écrit :

Comment faites-vous pour qu'une fois partie, lle nom se grise svp ? Je ne vois rien dans votre feuille

C'est dans le code VBA associé à la feuille.
thev a écrit :

Actuellement si vous changez la date en A1, la feuille modèle est automatiquement dupliquée.

Incroyable !!! C'est vraiment génial... Les 3 personnes qui sont à l'instant avec moi sont super impressionées aussi et se réjouissent autant que moi....

Il ne me reste plus qu'à protéger le tout et hop... dès Septembre les choses vont être bien plus facile ici et grâce à vous Thev.

Mille merci.... vraiment c'est très très apprécié. Et nous ne savons pas comment manifester notre gratitude autrement que par des mots. Un moyen peut-être ? Cela nous ferais tant plaisir.

Avec nos plus chaleureuses salutations et meilleurs messages

Au nom de tous,

Sergio

Travaillant moi-même dans une association, je résous des problèmes du même genre.

Et la cerise sur le gâteau .... avec génération automatique des onglets à partir de la date en A1

thev a écrit :

Travaillant moi-même dans une association, je résous des problèmes du même genre.

Et la cerise sur le gâteau .... avec génération automatique des onglets à partir de la date en A1

OH ! MAZETTE et MIAM MIAM ! TU l'as fais !!! wah wah wah !!! C'est fantastique

Nous venons de tester ! Quelle magie !!!! ça ce fait tout seul... ohoho

Paraitrais-je ingrat si je demandais à cette magie de supprimer le bouton après avoir créé l'agenda annuel, de peur que quelqu'un ne clique de ssus et créé un joli pataquès ? Oû alors une fois crée, dis moi qu'elle code je dois suprimer du VBA aisi le bouton ne servira plus à rien....

Mais quoi qu'il en soit et même si ce n'est pas possible, nous te sommes tous reconnaissant et c'est vraiment parfait !!! BIG HUG de tous !

Sincèrement

Sergio

sans copie du bouton

remarque : il serait peut être judicieux d'alléger le classeur final en enlevant dimanche et jours fériés.

Nom d'une pipe !!! Fantabuleux ! Tellement content !!! çA marche super....

Puis-je sans craindre quoi que ce soit, enregistrer ce fichier sous n'importe quel dossier voir le bouger si nécessaire ou plutôt renommer le dossier tout à coup. Je gage que le code VBA qui est dans le classeur suit le fichier... mais j'ai déjà par le passé eu de fichiers ainsi et après quelques copies du fichier pour en recréé un, parfois des fonctions, commandes etc enrgitrés dans le code VBA ne fonctionnait plus. A quoi devons-nous faire attention s'il vous plaît pour ne rien cassé ?

Je garde le fichier comme modèle et je créée les années suivantes a partie de celui-ci ?

Puis-je aussi rallongé la liste des membres comme je veux où est-elle limitée svp ?

Encore un énorme et très chaleureux merci pour votre aide précieuse et soyez-en sûr, très appréciée

Sincèrement

Sergio

Pour ne rien perdre

1- le code VBA principal est attaché à la feuille "Model"

2- le code VBA attaché au bouton se trouve dans module 1

3- la colonne 1 de la feuille "Membres" est référencée sous le nom "Membres" (menu Formules --> Gestionnaire de noms

Donc pour se servir d'un nouveau classeur :

1- créer un nouveau classeur via la copie de la feuille "Model"

2- copier dans ce nouveau classeur le module 1 et actualiser la macro auquel fait référence le bouton

3- définir le nom "Membres" pour la colonne 1 de la feuille Membres.

Le plus simple est tout de même de dupliquer le classeur avant génération des feuilles journalières.

Serji0 a écrit :

Puis-je aussi rallongé la liste des membres comme je veux où est-elle limitée svp ?

Oui. Elle n'est limitée qu'au nombre de ligne de la feuille, soit environ 1 million depuis Excel 97...

Concernant ma suggestion d'alléger le fichier en ne générant pas les jours où vous ne travaillez pas, dois-je en conclure que vous êtes présents tous les jours de la semaine ?

thev a écrit :

Pour ne rien perdre

Le plus simple est tout de même de dupliquer le classeur avant génération des feuilles journalières.

Merci pour toutes ces précisions et oui, je vais garder votre fichier comme modèle.

thev a écrit :

Concernant ma suggestion d'alléger le fichier en ne générant pas les jours où vous ne travaillez pas, dois-je en conclure que vous êtes présents tous les jours de la semaine ?

Oui, c'est ouvert tout les jours.

Par contre je viens de faire trois essais et, effectivement le fichier annuel est mega lourd, il se bloque à la création par manque de ressource. Si je cliques OK, il poursuit la création de l'année jusqu'au 31.12 mais le fichier est inutilisable pour un bon moment. Puis, enfin, nous pouvons nous en servir, mais... cela se bloque par moment.

Nous ne pourrons pas investir dans une grosse bête super puissante avant longtemps. Oserais-je vous demander de réduire de 365 à 31 le nombre de page s'il vous plaît ? ET nous ferons un fichier par mois, ma foi

Sincèrement

Sergio

PS: pensez-vous possible que le champs où l'on entre son nom puisse être comandé par fléche bas et enter ?

exemple : Je tape Ka, j'ai 5 membre qui s'affiche, peut-on avec flèche bas descendre sur son nom et valider avec Enter ?

Chaleureusement

Sergio

ci-jointe version à 1 mois : version 6

Serji0 a écrit :

PS: pensez-vous possible que le champs où l'on entre son nom puisse être comandé par fléche bas et enter ?

Voir version 7.

Bonjour,

Merci encore pour votre disponibilité et vélocité.

J'ai un message qui s'affiche sur les feuilles dupliquées dès lors que je veux entrer un nom :

Variable non définie

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Not Intersect(Target, Me.Columns("A").Resize(Me.Rows.Count - 2).Offset(2)) Is Nothing _
    And Target.Count = 1 Then
        Set cible = Target
        rech_membres.Top = Target.Top

Qu'ai-je *encore* fait ?

Cordialement

Sergio

Serji0 a écrit :

Qu'ai-je *encore* fait

Rien. C'est suite à la modif que j'ai faite pour ne pas recopier le bouton de création des onglets, je n'avais pas retesté sur la feuille dupliquée.

Je revois donc cette modif.

Vous me soulagez, je craignais avoir saboté votre bel ouvrage

Merci pour vos bons soins

ci-jointe correction

Avec cette correction, tout le code VBA est désormais rattaché à la feuille (plus de module 1)

Rechercher des sujets similaires à "faciliter saisie mise forme duplication feuille"