Automatisation d'une macro

Nitsua

XLDnaute Nouveau
Salutation à tout le forum

Je bosse sur un projet de planification journalière. Une série de feuille de route qui sera imprimée en début de mois. Une feuille de route par travailleur, pour chaque jour ouvrable à l'intérieur d'une période donnée. Ayant plus d'une question sur ce projet, j'ai pensé qu'il serait mieux de les séparer en 3 messages différents ( 3 parties )

1er partie : Automatisation d'une macro
2è partie : Afficher avant de masquer à nouveau
3è partie: Simplifier une formule

Voici plus en détail…
A l'aide du "Control Calendar", et de la fonction "NB.JOURS.OUVRES()" j'obtiens le nombre de jour ouvrable selon le mois sélectionné. Le nombre de jour ouvrable déterminera le nombre de rapport journalier don j'aurai de besoin. Un jour ouvrable = un rapport journalier par travailleur. Ce nombre vari de 20 à 23 selon les mois. Un travailleur par feuille. 3 travailleurs pour l'instant. Le classeur final comportera entre 10 et 12 travailleurs.

Chaque feuilles des travailleur (RJ1, RJ2 et RJ3 pour l'instant) contiennent chacune un total de 23 rapports journaliers superposés les uns au dessus des autres. Tous identique sauf pour les noms des travailleurs selon la feuille. Puisque le nombre de jour ouvrable (lundi au vendredi) vari de 20 à 23 jours selon les mois, l'idée est de simplement masquer les lignes des rapports journaliers inutiles dans chacune des feuilles des travailleurs en fonction de la valeur obtenu par "NB.JOURS.OUVRES()". Cette valeur est inscrite dans la cellule U13 de la feuil1 soit la feuille "Menu"

1er partie :
J'ai besoin d'aide dans l'exécution d'une macro qui sera réactive au changement de valeur de cette fameuse cellule ("Menu!U13"). Bien que la formule de base soit déjà écrite, (voir Module 1 : Sub Affichage_RJ_jourouvrable() ) je n'ai absolument aucune idée comment procéder pour la rendre réactive à chaque changement sans avoir à créer des boutons.

Merci d'avance pour votre temps et vos conseilles

ps: la 2è et 3è partie seront ajouté sous peu.
 

Pièces jointes

  • RJ Version Aide.xlsm
    167.5 KB · Affichages: 122

Gorfael

XLDnaute Barbatruc
Re : Automatisation d'une macro

Salut Nitsua et le forum
Petits rappels :
- on n'est ni devin, ni télépathe et on n'utilise pas ton fichier : ce qui est évident pour toi ne l'est pas pour nous et versa dans le vide.
- À priori, tu débutes (au moins sur VBA). Tu ne peux concevoir un fonctionnement qu'avec tes connaissance, et éventuellement tes idées sur les possibilités d'Excel.

Ceci étant dit, quelques questions :
Qu'appelles-tu un jour ouvré ?
J'ai fait un tout petit test et je me retrouve avec une fiche pour le jeudi 14 juillet 2011. C'est donc pas un jour férié pour toi ?
Quels sont les jours fériés ?

Si je fais un aperçu avant impression pour la feuille "RJ1" pour le moi de juillet 2011
Je me retrouve avec 22 feuilles identiques à l'impression, sauf la date, et pour la dernière, le mot fin.
Pourquoi autant de pages ?

Feuille RJ2
A8 : Technicien
B8 : NADIA
Juste pour rigoler, tu ne crains pas les ratures et rajout sur ton rapport ? Parce que sinon, si c'est une femme, je te conseille de prévoir de pouvoir remplacer le poste par son féminin

P'tit question subsidiaire : Tu finis ton programme, avec tes 20 rapports, tout est parfait... mais ton chef vient te demander de rajouter le numéro de ligne pour faciliter l'enregistrement par la secrétaire, et comme il est l'heure de la débauche et qu'il ne veut pas payer d'heures supplémentaires, il te laisse jusqu'à demain 9h30 pour faire la modif !
Tu t'arraches les cheveux, ou te le mords ?
Ou l'imprimante tombe en panne et la seule disponible à des performances inférieures (limites H=0,8 ; B=1,3 ; D=0,3 ; G=0,8)

Ouais, c'est un peu capillo-tracté, mais c'est juste pour te montrer que ton programme est... contreproductif.

Bon, en étant plus sérieux :
Une feuille de menu :
- permet de définir les modalités d'impression : la possibilité d'imprimer pour tous, pour un ou plusieurs, sur une période définie (un jour, de date à date, etc...). Toujours penser qu'un technicien peut avoir besoin d'une feuille spécifique (et pas des 20).

Une feuille Paramètres : contient des listes spécifiques
- Les termes (ex : technicien, technicienne, etc)
- Les jours fériés
- L'année en cours,
- Les techniciens
- Leurs congés, etc.
C'est à toi de réfléchir à ce qui peut influer sur tes rapport.

Une feuille Fiche
- celle-ci, tu l'as presque : un rapport journalier de A1 à K35, à laquelle on rajoutera soit des formules, soit du code pour la paramètrer, en fonction des feuilles à sortir

Avantages :
- en cas de modifications, il suffit de modifier une seule feuille => un seul test pour la valider.
- On gère réellement ce qu'on veut imprimer

Inconvénients :
- tout ton travail n'a pas servit à grand chose
- il te faudra en apprendre plus sur Excel (avec le forum, c'est pas dur, mais encore faut-il le vouloir)
- ça va demander du temps au départ
- Va falloir réfléchir différemment

Même si ton ego en prend un coup sur le moment, tu découvriras forcément d'autres facettes d'Excel. Comme le forum est anonyme, tu ne craint pas le ridicule, et de toute façon, tout "génie" d'Excel a commencé un jour.

Par exemple, on peut lire sur la fiche "Changement d'huile prévue à"
Si les techniciens ont une voiture attitrée, on peu très facilement prévoir un jour de maintenance, en fonction du kilométrage et d'un calcul statistique, suivant la politique de la boîte -X%/+Y% pour 15000km...

Jute un vieux souvenir : fais-en remplir un par un technicien et écoute ce qu'il en pense. Ayant été B.E. pendant quelques années, je t'assure que de demander les impressions et ce qu'ils préféreraient comme place, disposition, etc... à ceux qui vont devoir le subir journellement, peut t'éviter quelques réflexions désagréables : essaie d'écrire rapidement un numéro de téléphone de manière lisible dans la place prévue, mais avec ta feuille verticale sur un mur...
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 394
Membres
103 537
dernier inscrit
alisafred974