Générer des onglets en fonction des entrées d'un planning

Salut les mordus d'Excel

Je reviens vers vous avec un nouveau document et, bien évidemment, j'ai besoin de votre précieuse aide

Voici mon fichier :

9planning-stage.xlsm (142.76 Ko)

Explication du doc :

Dans l'onglet Excel, j'ai une liste d'étudiants avec un code qui génère la mise en forme que vous voyez. Dans le tableau des mois,

j'insère avec la liste déroulante des lieux de stages.

Ce que je souhaiterais :

Avec le bouton "Générer onglet & planning des étudiants", j'aimerais que, pour chaque étudiant de la liste se trouvant en haut à droite, un onglet à son nom soit générer en prenant l'exemple de l'onglet modèle. J'aimerais que le nom de l'étudiant figure sur le nouvel onglet créé en case B1. Il faudrait aussi que pour chaque mois où l'étudiant est planifié, que la ligne du mois avec les dates ainsi que la ligne de son nom soit copiée et collée dès la ligne 14. Les mois où l'étudiant n'est pas planifié, le mois ne doit pas apparaître...

Je vous ai fait un onglet exemple de ma demande -> Alexandre A.

Voilà, j'espère que vous allez pouvoir m'aider

Je vous remercie déjà d'avance et vous souhaite une toute belle soirée

Sophie

En bidouillant avec un autre de mes doc, j'ai réussi à faire fonctionner les onglets générer mais j'aimerais changer la source de mes onglets. Là ils font référence à la colonne A en ligne 39 mais j'aimerais qu'ils se créent en fonction des entrées se trouvant sur la colonne AC en ligne 15 jusqu'à la ligne 29. Je vous joints le document modifié

2planning-stage.xlsm (147.36 Ko)

Renommer les onglets c'est tout bon aussi

Après la suite de ma demande reste identique, voir l'onlet TEST pour l'exemple, j'aimerais que pour la personne Alexandre, s'il est planifié, que la ligne du mois aussi que celle de son planning soit reporté dans son onglet, sur la colonne A en ligne 14. Si un mois il n'est pas planifié, il ne faut pas que le mois apparaisse dans son onglet...

Voilà j'espère que ça sera plus simple et que vous allez trouver l'envie de me venir en aide

Belle journée à tous et salutations enneigées de la Suisse

Sophie

Salut Sophie,

Premièrement, met ce code au début de la macro générant les onglets (Après Public Sub onglet()) :

    'On désactive les messages d'alertes d'excel et on désactive le défilement des macros
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False

Et met celui-là à la fin de ta macro, avant End Sub :

    'On active les messages d'alertes d'excel
    Application.DisplayAlerts = True

Est-ce normal qu'un onglet soit créé pour "Observateur Yens", "Observateur Pully" et "Observateur Saint-Léonard" ?

Pour ta demande, je n'ai pas compris ton histoire de source de tes onglets faisant référence à A39 ? Peut-tu m'expliquer ?

Bonne journée,

Baboutz

EDIT : J'ai compris, essaye ça plutôt :

With Sheets("Planning")
        dl = Range("AC33").End(xlUp).Row
        'dans le Feuil Planning, depuis la ligne 39'
        For i = 15 To dl
            nom = .Cells(i, "AC").Value
            'prendre les valeurs de la colonne C, le nom des collaborateurs'
            Set Ws = newws(nom)
            dlws = Ws.Cells(Rows.Count, 1).End(xlUp).Row + 13 'colle sur la colonne 1 ligne 13'
            .Range(i & ":" & i).Copy Ws.Cells(dlws, 1)
        Next i
End With

Salut Baboutz

ouiiiiiiiiiiiii tu m'as comprise c'est top!!!! En fait, les 3 observateurs c'est les 3 dernière case AC30-31-32, je ne souhaite pas d'onglet pour ces 3 là, mais j'ai rajouter une ligne vide entre deux et du coup ton code fonctionne parfaitement!!! Top merci infiniment!!!!

Peux-tu m'aider pour la suite ou penses-tu que je doive ouvrir un nouveau sujet?

J'ai besoin d'aide à présent pour que les horaires des gens soient copiés sur leur onglet respectif, comme dans mon exemple qui se trouve sous l'onglet "test". Si le collaborateur ne travaille pas un mois comme celui de février pour mon exemple, alors je ne veux pas voir le mois de février, seulement ceux où il est planifié

Le calendrier est à coller à partir de la ligne A13, là il y a déjà une ligne qui se colle mais cela fait partie d'un vieux code que j'ai récupérer mais je ne parviens pas à ordonner de copier uniquement les calendriers avec des entrées en tenant compte du nom du collaborateur

J'ai corrigé mon code et j'ai joint le nouveau doc :

Je te remercie encore tout plein pour ton aide, c'est vraiment trop sympa!!

Salut Sophie,

Non pas nécessaire de créer un nouveau sujet, 1 suffit

Voici une proposition :

Est-ce que cela te convient ?

Bonne journée

Baboutz

Holala Baboutz,

C'est exactement ce dont j'avais besoin et quand je vois ton code, jamais je n'aurais réussi à trouver

Trop bien c'est super génial!!!!! Merciiiiiiiiiiii t'es un chef!!!

J'vais pouvoir peaufiner mon doc grâce à toi!!!! MERCIIIIIIIIIIIIIIIIIIIIIIII tout plein!!!

J'te souhaite de toutes belles fêtes de fin d'année si je n'appelle pas à l'aide d'ici là

A tout bientôt!

Sophie

Oh Baboutz,

J'ai un petit souci mais je pense que pour toi ça va être qu'un petit détail à régler

J'ai rajouté un commentaire sur la case AC30 et depuis j'ai ce message d'erreur qui apparaît :

erreur

Arrives-tu à me solutionner cela?

Je te mets le fichier avec le fameux commentaire que j'ai rajouté

J'te dis déjà un tout grand merci car je suis certaine que tu vas faire des miracles

C'est tout bon, j'ai trouvé la boulette

Bonsoir Sophie,

Avec plaisir !

J'ai du utiliser certaines fonction que ne je n'avais pas l'habitude d'utiliser, merci aussi à toi de m'avoir fait progresser

Je pense que ce n'est pas le code le plus optimisé, mais du moment que cela te convienne !

Tu es une chef toi aussi, tu arrives à te débrouiller seul aussi

Je te souhaite également de bonnes fêtes, profite bien de ta famille.

N'hésite pas si problème il y a !

Bonne soirée,

Baboutz

Coucou Baboutz

Comme tu peux t'en douter, j'ai besoin de ton aide

J'ai un code pour envoyer l'onglet actif en pièce jointe qui fonctionne nickel sur un autre doc mais pas sur celui de mon planning... Je m'explique -> si tu vas sur modèle et que tu cliques sur la petite enveloppe, tout est parfait -> l'onglet joint est en format .xls c'est parfait!

Mais.... lors que je génère mes onglets en me basant sur l'onglet modèle, logiquement le code "mail" est identique mais voilà que mon fichier joint n'est plus du .xls -> il se transforme en ça :

erreur

Je n'y comprends rien.......

Voilà un nouveau challenge pour toi bon si tu as un code plus simple je suis preneuse, au final, je souhaite avoir uniquement l'onglet actif en pièce jointe, avec le même nom que l'onglet et en format .xls, ni plus ni moins

fichier :

2planning-stage.xlsm (281.15 Ko)

Dans l'attente de te lire,

Je te souhaite une toute belle soirée

Sophie

Salut Sophie,

Le problème venait du fait qu'il y ai un "." après chaque première lettre du nom de chaque individu et du coup n'enregistrait pas comme il le fallait, c'est à dire sous la forme "Prénom N..xls". J'ai corrigé cela !

Question, tu comptes faire l'envoie à la main pour chaque individu ? Tu pourrais automatisé cela pour envoyer automatiquement à tous le monde...

Après ça dépend si tu veux envoyer un message différents à chacun.

Ton fichier corrigé :

À noté que c'était un peu le bazars dans ta macro, essaye de la remplir compréhensible en sautant des lignes et en réalisant des indentations pour une bonne lisibilité. Essaye également de comprendre les macros que tu reprends du net, tu t'amélioreras comme ça

Bonne journée,

Baboutz

Oh purée, j'aurais pu chercher un moment

Oui tu as raison, je vais essayer de faire plus de retour à la ligne et de bien grouper mes commandes histoire d'y voir plus clair

Encore un grand merci, ça marche du tonnerre!!! Pour le bouton qui automatise l'envoi pour tous les onglets, je n'en ai pas besoin car les stagiaires ne sont jamais synchro, du coup, les envois ne sont font pas en simultanés mais merci d'y avoir pensé

J'vais encore faire quelques modifs en essayant de me débrouiller toute seule mais je risque de t'appeler une dernière fois à l'aide pour ce petit doc

Salut Baboutz & ceux qui me lisent,

J'ai un dernier service à te demander sur ce doc, après il sera parfait

Lorsque le planning est copié et collé sous l'onglet de l'étudiant, j'aimerais que sur la ligne du mois, tout à la fin, "Totaux" soit aussi copié. J'ai réussi à modifié le code pour les endroits (voir encadré vert) mais je ne parviens pas à modifier au niveau de la case "Totaux" (voir encadré rouge).

totaux

Et sinon voici mon dernier souci.... Lorsque je planifie un étudiant à Yens, soit avec Y soit avec Yr par exemple, j'aimerais que la cellule des observateurs de Yens soit rosée. Idem pour Pully (P ou Pr) et Saint-Léonard (SL ou SLr). Et cela sur tous les mois de l'année, voici un print screen de ce qui serait généralissime J'ai tenté avec la mise en forme conditionnelle mais si je dois faire un code par cellule, je vais me retrouver avec 3452193485 mises en forme conditionnelle

couleurs

Une dernière fois mon doc en pièce jointe et je pense qu'après ça sera fini pour ce document et je viendrai sans doute vous solliciter pour un nouveau projet

3planning-stage.xlsm (278.22 Ko)

Merci tout plein à celles et ceux qui sauront me partager leurs connaissances de ouf

Excellente soirée à tous!

Sophie

Salut Sophie, Baboutz et le forum,

vois si le fichier joint te convient

Ah Ah Ah, Sequoyah tu m'as retrouvée

Oui c'est parfait comme toujours!!!! Oh purée, tu aurais dû me dire que ça n'était pas possible en VBA pour colorer les cellules en rouge et que je n'avais pas d'autre solution que la mise en forme conditionnelle.... Purée le nombre d'entrées que tu as faites, tu as bien dû te faire chleu................ Un énorme merci pour le travail, c'est généralissime!!!

Un énorme merciiiii!!!!! Pour 2019, j'ai fini de vous embêter avec mes requêtes pour 2020

merci

A tous, de belles fêtes de fin d'année et tout le meilleur pour 2020!

Cordialement

Sophie

.... Purée le nombre d'entrées que tu as faites, tu as bien dû te faire chleu................

Bonjour Sophie,

merci pour ton retour, en fait, il suffit de trois formules comme celle qui suit

=OU(NB.SI(D38:D52;"Y")>0;NB.SI(D38:D52;"Yr")>0)

et le bouton Reproduire la mise en forme a fait tout le reste.

Cordialement

Salut Sophie, Sequoyah,

Je n'étais pas dispo ce we, mais ravi de voir que Sequoyah ai pu répondre à tes demandes

et le bouton Reproduire la mise en forme a fait tout le reste.

Je ne savais pas que ça permettait de reproduire des MFC Je retiens bien, merci

Bonne journée et bonnes fêtes de fins d'années,

Baboutz

Rechercher des sujets similaires à "generer onglets fonction entrees planning"