Macro de planning

Bonsoir à tous,

je galère vraiment avec les macros.... ne sachant pas si c'est techniquement possible, je vous pose la question. Mon idée est la suivante :

- avoir une fenêtre qui s'ouvre au démarrage du planning avec le choix de l'année. Ensuite, excel, avec le modèle prédéfini, rempli les jours en question. En noir, ce sont les week-end (samedi et dimanche)

- toujours dans la même fenêtre, avoir l'option, de sélectionner le jour de l'horaire le 1er janvier. Il y a 6 horaire différents. Donc le choix entre horaire 1, horaire 2.... comme incidence dans le planning, cela met en gris les jours sous le modèle : 4 jours blanc et 2 jours gris. Les cases du week-end restent noires quoi qu'il arrive par contre ce qui est important.

- enfin, toujours dans la même fenêtre (ça serait un + mais si possible, je peux mettre manuellement), avoir 15 champ pour mettre les noms des participants qui va ensuite remplir sur chaque mois les noms des 15. Après si on est moins que 15, on laisse les champs vides

- cerise sur le gateau, une fois le plan établi, avoir la possibilité de l'enregistrer et que par la suite, la fenêtre ne s'ouvre pas à chaque fois. Ou alors, ouvrir la fenêtre depuis un bouton sur le fichier en fait ce qui serait plus simple sans doute.

Merci de m'aider car vraiment je ne parviens à rien

14planning.xlsm (79.23 Ko)

Bonjour,

Avoir des idées, c'est pas compliqué : Les mettre en pratique, c'est une autre histoire !

Je pense que tu n'arriveras à rien avec tes12 tableaux (un pour chaque mois).

Changer d'année c'est pas compliqué : YAKA...

Après pour revenir sur les données des années précédentes ou suivantes c'est beaucoup plus compliqué. ça suppose qu'on est capable de gérer une base de donnée qui enregistre au fur et à mesure tous les détails. et capable de les restituer quand on se balade d'une année à l'autre.

In fine ça me semble improbable voire impossible pour un débutant.

C'est à la rigueur envisageable avec un planning annuel du type du fichier joint. Les feuilles étant figées pour la partie calendrier.

Après pour la partie planning et tes mises en formes. Les macros seront polyvalentes elles fonctionneront indifféremment selon la feuille active.

Sur cette base je t'ai fait un modèle jusqu'en 2030. Après la mise au point des macros c'est une autre histoire :

Encore faudrait-il comprendre exactement comment distribuer les horaires sur chaque ligne. Ça doit être possible mais je n'ai rien fait pour l'instant à ce sujet : J'attends déjà de voir si cette manière de voir les choses te convient...

A+

Bonjour,

je me suis sans doute mal exprimé

Je n'ai pas besoin des autres années. En fait, je veux créer cette feuille chaque année, mais sans avoir les autres années. Plus simple sans doute. En gros, un seul fichier pour une seule année. Par contre, je dois garder la mise en page comme sur mon fichier de base….

Le choix de l'année complète le document et ensuite, le choix de l'horaire grise les cases en fonction…

J'ai tenté ceci pour le calendrier, mais au lieu de l'avoir sur une ligne comme sur le modèle de base, cela me le fait du lundi au dimanche et ensuite cela descend sur la ligne suivante

For Mois = 1 To 12
    Select Case Mois
    Case Is = 1
          Ligne = 4
          CompteurColone = 1
    Case Is = 2
         Ligne = 4
         CompteurColone = 34
    Case Is = 3
         Ligne = 23
         CompteurColone = 1
    Case Is = 4
         Ligne = 23
         CompteurColone = 34
    Case Is = 5
         Ligne = 42
         CompteurColone = 1
    Case Is = 6
         Ligne = 42
         CompteurColone = 34
    Case Is = 7
         Ligne = 64
         CompteurColone = 1
    Case Is = 8
         Ligne = 64
         CompteurColone = 34
    Case Is = 9
         Ligne = 83
         CompteurColone = 1
    Case Is = 10
         Ligne = 83
         CompteurColone = 34
    Case Is = 11
         Ligne = 102
         CompteurColone = 1
    Case Is = 12
         Ligne = 102
         CompteurColone = 34
    End Select

  For Jour = 1 To 31
        TheDate = CStr(Jour) + "." + CStr(Mois) + "." + SaisieAnnée.Text
        If IsDate(TheDate) Then
           Colone = DatePart("w", TheDate, vbMonday) + CompteurColone
           ThisWorkbook.ActiveSheet.Cells(Ligne, Colone) = Jour
           If Colone = 7 + CompteurColone Then
              Ligne = Ligne + 1
           End If
        End If
    Next Jour

Je n'ai pas de solution pour ton modèle.

Désolé

A+

Rechercher des sujets similaires à "macro planning"