Création d'un planning de travail avec Macro

Bonsoir à tous,

Je me suis décidé à me lancer dans les macros aujourd'hui, et expérimente donc des petites choses simples pour comprendre les basiques, le tout en regardant des tutoriels.

fullsizeoutput 14e3

J'essaye de créer un planning de travail (voir photo ci-joint), avec 4 horaires différents (Horaire 1 à 4), et des jours de congé (Congé 1 et Congé 2). Le but serait de pouvoir créer un bouton pour chacun de ces 6 choix possibles, afin ensuite de pouvoir tout simplement aller dans n'importe quelle case du planning, et choisir l'horaire voulue en cliquant sur un bouton. C'est là que je bloque : j'ai essayé de faire une macro à partir de la case B7 qui était vide en faisant :

  • écrire "CO1"
  • mettre en gras
  • mettre en taille 11
  • remplir la case en bleu

J'ai ensuite créé un bouton "Congé 1". Sauf que lorsque je vais sur n'importe quelle case pour essayer de mettre "Congé 1", cela m'emmène directement sur la case B7, sachant que j'ai créé la macro là-bas.

Je voulais donc savoir comment faire comprendre à la macro qu'elle peut se greffer n'importe où, et pas uniquement sur la case ou elle a été créée.

Deuxième question, toujours concernant le planning : j'ai réussi à créer une macro "Planning Vierge", c'est à dire créer une copie de la feuille 1, puis effacer toutes les données afin de pouvoir faire le planning de la semaine suivante. J'ai également réussi à modifier les dates, pour qu'elles avancent automatiquement de 7 jours (ligne 1, et ligne 5). Mais on en revient sensiblement au même problème qu'avant avec des données "fixes" : c'est toujours le même planning vierge qui se créé, sachant que les dates + 7 jours sont toujours celles de la feuille 1 , et ne s'additionnent pas après chaque feuille créée (j'aimerai que la feuille 3 fasse feuille 2 + 7 jours, la feuille 4 fasse feuille 3 + 7 jours, etc...)

J'espère avoir été clair dans mes explications, et je suis certain que vous autres, les professionnels du VBA, sauront m'apporter une aide précieuse

Merci et excellente soirée,

WoOdErOu

Salut WoOdErOu,

j'hésite à répondre car je ne ne suis pas, loin s'en faut, le professionnel que tu appelles de tes voeux...

Cela dit, même un professionnel aura souvent besoin d'un fichier concret et non pas d'une image pour travailler.

Donc,

Mais avant, et sauf erreur de vision, tu pourrais commencer par éliminer les cellules fusionnées!

Change plutôt la hauteur des lignes si tu veux voir clair mais, évite un max de fusionner!

A+

Bonjour curulis,

Merci pour ta réponse. En effet, ce fichier était utilisé pour le travail à la base, et j'avais besoin de mettre des demi-journées de travail ou repos, alors l'utilisation de deux lignes par employé facilitait la chose. J'ai corrigé la chose!

Voici mon fichier :

80planning.xlsx (10.93 Ko)

Autre chose, quand j'ai ouvert le fichier ce matin, impossible de réutiliser la macro créée hier, qui n'apparait plus dans Développeur > Macros

Merci

Bonjour WoOdErOu,

Tu a écrit :

quand j'ai ouvert le fichier ce matin, impossible de réutiliser la macro créée hier, qui n'apparait plus...

aïe aïe aïe ! ton fichier joint a l'extension .xlsx : il ne peut donc pas contenir de macros ! et la sauvegarde (= enregistrement) du fichier n'a donc pas conservé ta macro créée hier !

pour enregistrer un classeur Excel contenant des macros, tu dois choisir ce type de fichier : « Classeur Excel (prenant en charge les macros) », ce qui crée un fichier .xlsm

pour un nouveau classeur que tu crées, fais ce qui est décrit ci-dessus ; pour un classeur .xlsx déjà créé, tu dois d'abord le convertir en .xlsm pour pouvoir y mettre une macro ; pour faire cela, ouvre ton fichier .xlsx ; appuie sur la touche F12 ➯ fenêtre « Enregistrer sous » et c'est là, juste sous le nom de fichier, que tu peux choisir le type « Classeur Excel (prenant en charge les macros) »

pour un classeur .xlsm déjà créé, y'a rien à faire : pas besoin de conversion, tu peux l'utiliser tel quel pour y mettre une macro, et cette fois, la sauvegarde du classeur conservera ta belle macro !

tout c'que j'ai décrit est par rapport à mon PC ; sur ton Macintosh, y'aura p't'être quelques différences !

dhany

Petit up pour répondre à mes problèmes ?

Merci dhany pour l'explication concernant l'extension du fichier

Bonjour,

Petite contribution pour tes changements de dates... !

Et apprend que l'enregistreur ne réfléchit pas ! Il se contente d'enregistrer ce que tu fais...

Il n'enregistre pas ce que tu veux faire faire puisque ce n'est pas exactement ce que tu fais, c'est à toi de l'écrire.

Mais il enregistre ce que tu n'as pas besoin de faire dès lors que c'est VBA qui le fait, qui ne sert donc à rien.

C'est à toi de réfléchir et d'écrire le code qui correspond à ce que tu veux faire faire.

Alors pour te lancer dans VBA et les macros, oublie l'enregistreur et passe par les rudiments VBA. Cela peut avancer plus vite que tu ne penses, à condition de ne jamais enregistrer.

Cordialement.

edit : je viens de voir que le fichier manquait ! Vais réparer ça.

Bonjour WoOdErOu,

je te retourne ton fichier modifié :

47planning.xlsm (17.23 Ko)

* la cellule active est G8, qui contient "Horaire 4"

* saisis 1 ➯ "Horaire 1"

* saisis 2 ➯ "Horaire 2"

* saisis 3 ➯ "Horaire 3"

* saisis 4 ➯ "Horaire 4"

* saisis c1 ou C1 ➯ "CO1"

* saisis c2 ou C2 ➯ "CO2"

* saisis abc ou autre ➯ "?"


ça fait pareil que ci-dessus pour toute cellule de B7:H12


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Merci à tous pour votre aide !! Je regarderai ça quand ce sera un peu plus calme au travail

ok, on saura patienter en attendant que t'aies moins d'boulot !

dhany

y'a plus d'nouvelles de WoOdErOu : il a oublié son sujet !

dhany

Rechercher des sujets similaires à "creation planning travail macro"