Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Gestion du temps de travail

  • Initiateur de la discussion Initiateur de la discussion langa68
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

langa68

XLDnaute Junior
Bonjour,
Je suis en plein projet de gestion de temps de travail.
J’aimerais à l’aide d’un bouton multiplier les feuilles de calcul comme suggéré dans l’exemple ci-joint.
Les feuilles devront comprendre chacune 3 semaine et la date devra s’ajuster automatiquement.
Les onglets devront se nommer automatiquement d’après la cellule M1.
Pour moi ceci est impossible à réaliser. Je n’ai pas assez de connaissances. Mais j’espère y parvenir avec votre aide.
Pour une meilleure compréhension il serait pour moi intéressant que les différentes fonctions soient commentées.
Je remercie d’avance la ou les personnes qui trouveront le temps de s’occuper de mon problème.
langa68
 

Pièces jointes

Re : Gestion du temps de travail

Bonjour,

Un essai
J'ai un peu modifié ta présentation pour :
Inscrire en colonne A : Semaine
En colonne B : le numéro de la semaine
Je calcule les dates à partir du numéro de semaine (du lundi au Dimanche) Regarde la formule en B6 par exemple

Le numéro de semaine saisi fait l'objet d'un contrôle : s'il existe sur une feuille : rejet

Il faut sûrement encore des contrôles

a+
 

Pièces jointes

Dernière édition:
Re : Gestion du temps de travail

Re,

Si tu connais un peu VBA
Un userform : formulaire de saisie
Tu vas dans VBE (Alt F11)
click droit sur le userform pour accéder au code (pas très long)
Essaie de le déchiffrer
Reviens si nécessaire

a+
 
Re : Gestion du temps de travail

Merci encore Chalet53

J'ai adapté ton fichier au mien. Cela marche au poil.
Je pense que j'ai réussit plus ou moins à déchiffrer le macro. (Voir le fichier joint).

Cependant j'ai encore quelques questions:
Je ne comprends pas
- La boucle For Each de la ligne 9
- La boucle For Next de la ligne 12 (pourquoi les valeurs 13, 29 et 8)
- J'ai fait avec l'outil enregistrer une macro une petite macro me permettant une mise en page de ma feuille. Comment faire pour l'intégrer dans le code ci dessus??

J'aimerais aussi me lancer dans le VBA, pourrais-tu me conseiller pour l'achat de livres traitant le sujet??

Merci encore pour le temps que tu a pris pour m'aider

langa68
 

Pièces jointes

Re : Gestion du temps de travail

Bonjour

Boucle : For Each ....Next
Je veux m'assurer que le n° de semaine que tu as saisi n'est pas déjà présent dans une feuille. D'ailleurs si tu as essayé de saisir une semaine existante, tu as un message.
For Each sh In ActiveWorkbook.Sheets : j'analyse toutes les feuilles du fichier (sauf la feuille Menu)

A l'intérieur de cette boucle, une autre boucle sur chaque feuille analysée : For i = 13 To 29 Step 8
13 est la ligne sur laquelle se trouve la première semaine (1ère colonne : semaine et deuxième colonne : N° de semaine). Je compare ce dernier au n° saisie dans le userform : s'il est identique Refus
Step 8 : on trouve ces infos dans chaque feuille toutes les 8 lignes (donc la boucle doit sauter 8 lignes pour accéder à l'info suivante: et ainsi contrôler si le n° de semaine n'est pas égal à celui saisi dans le userform

29 : c'est la dernière ligne de la feuille

Important : ne pas insérer de lignes dans la feuille sinon Problème (nécessité de modifier le programme)

Si tu veux lancer ta macro à partir de celle-ci : sans juste derrière Unload Me, tu inscris : Call suivi du nom de ta macro

Les cours de VBA : Sans doute 75% de ce que je sais faire, je l'ai appris sur ce site. Je te joins deux fichiers à partir desquels j'avais fait 3 jours de formation à des débutants pour initiation

a+
 

Pièces jointes

Re : Gestion du temps de travail

SUPER et Merci

J'aurais éventuellement encore des questions à te poser sur ce sujet.
J'espère pour moi que tu sera tout aussi généreux à ce sujet.

Encore MERCI et

A+

langa68
 
Re : Gestion du temps de travail

Salut Chalet53,
C'est encore moi.

J'ai bien avancé dans mon projet, mais j'ai encore un "petit problème" quant aux macros.
J'ai rattaché plusieurs petites macros à ton code :
Call Oter_protection - Ote la protection de la feuille
Call Accueil - Formate les cellules
Call Affichage - Regle les diff. Paramètres (Titres, zoom etc.)
Call Mise_en_page - Regle la mise en page
Call Cacher_les_formules - Cache les formules
Call Validation_des_données - Paramètre la valeur des données
Call Protection - Remet la protection
Lorsque j’appelle ton code tout fonctionne à merveille. Sauf que dans la première feuille les formules ne sont plus protégées. (Dans les suivantes elles le sont).
Pourras-tu me dire ce que je dois faire pour pouvoir protéger les formules de ma première feuille. La cerise sur le gâteau serait de pouvoir protéger les feuilles contre l’effacement.
Je te joins mon fichier. (Il est en allemand, mais ça ne doit pas poser de problèmes pour le fonctionnement).

Merci.

Langa68
 

Pièces jointes

Re : Gestion du temps de travail

Re,

je ne vois pas le problème : un moyen de le contourner en modifiant comme suit tes deux programmes :

Déprotection

Sub Oter_protection()
'
' Oter_protection Macro
'
For Each sh In ActiveWorkbook.Sheets
'
a = sh.Name
Sheets(a).Activate
ActiveSheet.Unprotect
Next
End Sub

Protection

Sub Protection()
'
' Protection Macro
'
For Each sh In ActiveWorkbook.Sheets
'
a = sh.Name
Sheets(a).Activate
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True

Next
End Sub


Que veux-tu faire exactement avec la cerise sur le gâteau ?

a+
 
Re : Gestion du temps de travail

Merci pour ton aide,


En fait, ce que je voudrais faire c’est une première feuille ou il est impossible de changer les formules, puis faire une deuxième feuille ou il est également impossible de changer les formules et ainsi de suite…
Si je protège la première feuille ma Macro ne fonctionne plus, si j’enlève la protection, mes formules peuvent être effacées. Pourras-tu m’indiquer une solution ?
Mais j’ai peur d’abuser de ta patience

Langa68
 
Re : Gestion du temps de travail

Re,

pourquoi ne pas protéger ta feuille à l'exception des cellules dans lesquelles tu autorises l'intervention (comme je l'ai fait dans le petit exemple que je te joins (mot de passe: toto)
Les cellules déprotégées correspondent aux cellules C6😀28 , G6:H28, K6:L28 de la feuille (A généraliser)
Quand tu recopies la feuille témoin, tu déprotèges au préalable et tu re protèges à la fin

A+

les 2 points sont remplacés par un smiley !!!!!!
 

Pièces jointes

Re : Gestion du temps de travail

Salut Chalet 53,

C'est encore moi.
Pourrai tu m'expliquer un peu la formule que tu a mis dans les cellules B6 à B12. En particulier le 4 de la formule suivante DATE($A$1;1;4)-JOURSEM(DATE($A$1;1;4);2)+1+7*(B$13-1)
 
Re : Gestion du temps de travail

bonjour,

je repasse par là (par hasard)

c'est pour retrouver le 4 Janvier de l'année : ceci permet de retrouver la semaine 1 d'une année (selon que le 1er janvier tombe avant un jeudi (4ème jour de la semaine) ou après un mercredi : le numéro de la semaine où se situe le 1er janvier est 53 ou 1)

DATE($A$1;1;4) = 4 Janvier (de l'année en A1)

JOURSEM(DATE($A$1;1;4);2) : donne le jour de la semaine correspondant au 04/01/201X si la semaine commence un lundi. Le 2 signifie que la semaine commence un lundi

+1 : si je cherche un lundi (+2 si je cherche un mardi ....)

7*(B$13-1) : nombre de jours pour les semaines écoulées
Décompose la formule (comme ci-dessus) en 3 ou 4 cellules et rassemble-les ensuite, tu comprendras plus facilement

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
2 K
Réponses
19
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…