Remplissage automatique d'un calendrier

Bonjour à tous,

je souhaiterais créer un calendrier de réservation de salle.

Les créneaux de réservation seraient automatiquement mis en forme à partir de données renseignées dans un tableau.

Existe t'il une macro ou une formule permettant de réaliser cette opération.

J'ai attaché à ce post un fichier excel illustrant ma demande.

Je vous remercie par avance


En complément, j'aimerais pouvoir rentrer plusieurs créneaux de réservation sur une seule ligne. Merci pour vos informations

Bonjour,

Hum... Tu me sembles parti sur des bases un peu compliquées.

il faudrait essayer de voir les choses un peu comme dans le fichier joint.

Une feuille param qui peut être masquée.

Nota :

il faut éviter de faire des listes qui se chevauchent !

il faut éviter les colonnes masquées et les lignes au dessus d'un tableau.

La colonne B est indispensable. (vide ou non)

Saisir le mois.

Saisir la salle

Saisir le nom (dans mon modèle, c'est fait par validation mais ce n'est pas indispensable)

Ensuite (et seulement ensuite...) sélectionner les jours pour cette réservation.

(Pour effacer : Suppr !)

Voir aussi la construction du calendrier.

A+

Bonjour,

je te remercie beaucoup pour ta réponse et tes conseils.

Par contre sauf erreur de ma part, je n'ai pas vu ton fichier joint.

Bonjour!

Je te remercie beaucoup! Par contre je n'ai absolument pas compris comment tu faisais ça, est ce que tu peux m'expliquer le principe?. En tout cas ça répond tout à fait au besoin.

Merci encore

Bonsoir,

Tout se joue dans les 3 macros de la feuille de service et dans le nommage des plages de la feuille "Param". Ce nommage est effectué dans le Gestionnaire de nom de façon dynamique (Avec DECALER) de manière à ne pas avoir à le modifier même quand tu rajoutes des éléments (nombres de salles, de noms, de bateaux, de cometoc...

(Les macros de Module1 ne servent à rien. On peut les supprimer.)

La macro Worksheet_Change est activé automatiquement quand tu modifies A2. Elle sert à afficher le mois considéré.

C'est juste pour le confort : Pour d'éviter d'avoir à scroller jusqu'à la colonne 337 pour voir le mois de décembre... Le décalage (dec) est enregistré dans la feuille "param" en face des mois considérés.

Elle sert également (Case Else) à effacer la couleur quand tu supprimes une réservation. (car par défaut la touche Suppr ne supprime que le texte, pas les couleurs de fond.

La macro Worksheet_SelectionChange est activé automatiquement à chaque fois que tu sélectionnes une ligne (et une seule) en dessous de la ligne 3 : dans toutes les cellules elle écrit la valeur choisie en A3. (Target.Value = [A3])

C'est également elle qui colore cette même plage sélectionnée en fonction de la plage [salle] de la feuille Param. Cette couleur est lue par la Function COLR appelée par :

Target.Interior.Color = COLR(Target.Text)

C'est donc elle (la macro Worksheet_SelectionChange) qui fait l'essentiel du boulot.

Important : A noter que dans cette fonction la feuille "Param" est ciblée par WsP dans (WsP.Cells(k + 1, iC).Interior.Color)

car le Code Name de cette feuille est WsP (Voir dans VBAProject et dans la fenêtre des propriétés.)

J'ai préféré changer le Code Name pour référencer cette feuille pour éviter une erreur au cas ou un petit malin aurait l'idée saugrenue de changer le nom (onglet) de la feuille "Param" Ce qui ne devrait jamais arriver vu qu'elle a vocation à être masquée.

Sinon YA pas grand chose d'autre à dire... C'est vraiment le grand b+a = ba de la prog VBA.

Comme on dit parfois, le plus dur c'est de faire simple !

A+

Merci beaucoup pour toutes ces explications. J'ai plus qu'à me mettre au travail pour bien assimiler tout ça.

Très bonne soirée

Rechercher des sujets similaires à "remplissage automatique calendrier"