Aide à la création d'un planning
Bonjour
Je me permet de poster cette demande d'aide car je n'ai pas vraiment trouvé ce que je cherchais à faire sur ce forum.
Je cherche à créer un planning pour m'aider dans la gestion de mes frais de garde.
J'ai créer un tableau à l'aide de tuto trouvé sur le net qui me permet de choisir un mois et une année, avec la vision des week end et jours fériés, mais j'ai un soucis pour que les données rentrées pour le mois de janvier s'effacent lorsque je choisi le mois de février et etc, tout en les conservant . Et je n'ai pas compris le code qui était donné avec le tuto pour les mois effacés les jours en plus du mois cela m'efface le tableau complet.
J'ai commencé par créer des macros pour remplir le tableau en fonction des types d'horaires de mon planning et de ma femme.
Puis j'ai une deuxième demande je ne sais pas si cela est possible. avoir une formule qui va analyser les cellules de la veille de mon épouse avec les cellules du jour meme de mon planning afin de savoir si je suis en M (donc de matin) et que épouse la veille est de N (donc de nuit) va mettre dans la case assadom et papi mami le résultat de 3 (qui signifie un chevauchement de 3 heures entre la nuit de ma femme et mon matin
Je débute complètement avec excel a part copier coller et =c4+c2 je prends tout pour m'élever dans mes connaissances
Merci de votre aide
Ps le fichier joins contient en premiere feuille le tableau de planning avec les listes déroulantes de choix de date, la seconde feuille les jours fériés pour la mise en forme conditionnelle et les macro des horaires de travail et en feuille 3 ma trame de planning et celle de mon épouse sur 10 semaines
Bonjour et bienvenue sur le forum
Un essai à tester. Te convient-il ?
Bye !
Bonsoir
Merci pour votre réponse
J'ai l'impression que cela ne fonctionne pas j'ai remplis le tableau mais rien ne se passe
Faut il activer une macro ?
Bonjour
didic974 a écrit :Faut il activer une macro ?
Ah ! oui !
Si tu n'actives pas les macros, cela ne marchera pas.
Bye !
Bonsoir
Comment activer les macros car cela ne marche pas
ou bien je ne fais pas ce qu'il faut
Bonjour
didic974 a écrit :Comment activer les macros
Voir tutoriel :
https://www.excel-pratique.com/fr/astuces_vba/activer_les_macros.php
Bonjour
C'est bien ce que j'avais fais mais la macro d'analyse des cellules ne fonctionne pas ou bien je ne le fais pas correctement
Merci de votre aide
gmb a écrit :Bonjour et bienvenue sur le forum
Un essai à tester. Te convient-il ?
Bye !
Merci
j'ai essayé le tableau en regardan les histoires de macros qui ne fonctionnaient pas
Cela marche pour le matin et la nuit
Par contre en essaynt de rajouter des lignes d'analyses dans le code ca ne fonctionne pas
Quand je suis de J1 un jour et que ma femme est de nuit la veille j'aimerais qu'il affiche 2 dans le nombre d'heure de garde, j'ai copier le code pour Matin mais cela ne marche pas
et de meme pour quand je suis de soir et ma femme de nuit le meme jour mais ca ne marche pas
j'ai du me tromper dans la formulation des codes
Par contre a priori ca ne marchais pas au depart car j'avais créer des macros pour marquer rapidement les planning
Mais comment faire pour que mon planning et celui de ma femme se recopie tout seul dans les cases en suivant la trame qui se reproduit toutes les 10 semaines
Merci de votre aide
PS je joins le tableau avec mes codes pour voir ou j'ai fais une erreur
Bonjour
Je suis désolé mais je ne comprends pas tes explications.
didic974 a écrit :en essaynt de rajouter des lignes d'analyses dans le code ca ne fonctionne pas
Qu'appelles-tu des lignes d'analyse ? qu'as-tu ajouté et où ?
: J1 ? Cela veut dire quoi ?Quand je suis de J1 un jour
j'aimerais qu'il affiche 2 dans le nombre d'heure de garde
Je veux bien mais ma question est : "Dans quelle cellule" ?
j'ai copier le code pour Matin mais cela ne marche pas
Je ne vois pas où tu as copié quelque chose...
de meme pour quand je suis de soir et ma femme de nuit le meme jour mais ca ne marche pas
Et il faut faire quoi dans ce cas-là ?
comment faire pour que mon planning et celui de ma femme se recopie tout seul dans les cases en suivant la trame qui se reproduit toutes les 10 semaines
Là, je comprends mais on verra cela quand le reste sera réglé.
Si tu ne fais pas un effort pour être plus clair, je ne pourrai pas t'aider car je n'ai aucune disposition pour lire entre les lignes et je suis un peu dur de la comprenette !
Bye !
Bonjour
Oups désolé effectivement je n'ai été clair que dans ma tête.
Le J1 et le S sont des horaires de mon planning, le J1 signifie journée et le S soir.
Donc je vais etre plus clair du moins essayé j'espère.
J'ai rajouté en faisant copié collé les lignes dans le code VBA du tableau
je remet ici ce que j'ai fait
'On recherche les chevauchements Matin de ligne 8 et Nuit de ligne 10 (colonne précédente)
ElseIf Not Intersect(Target, Union(Range("B7:AF7"), Range("B9:AF9"))) Is Nothing Then
If Cells(7, Target.Column) = "M" And Cells(9, Target.Column - 1) = "N" Then
Cells(11, Target.Column) = "3"
Cells(13, Target.Column) = "3"
Else
Cells(11, Target.Column) = "0"
Cells(13, Target.Column) = "0"
End If
ElseIf Not Intersect(Target, Union(Range("B8:AF8"), Range("B10:AF10"))) Is Nothing Then
If Cells(8, Target.Column) = "M" And Cells(10, Target.Column - 1) = "N" Then
Cells(12, Target.Column) = "3"
Cells(14, Target.Column) = "3"
Else
Cells(12, Target.Column) = "0"
Cells(14, Target.Column) = "0"
End If
ElseIf Not Intersect(Target, Union(Range("B7:AF7"), Range("B9:AF9"))) Is Nothing Then
If Cells(7, Target.Column) = "J1" And Cells(9, Target.Column - 1) = "N" Then
Cells(11, Target.Column) = "2"
Cells(13, Target.Column) = "2"
Else
Cells(11, Target.Column) = "0"
Cells(13, Target.Column) = "0"
End If
If Cells(8, Target.Column) = "J1" And Cells(10, Target.Column - 1) = "N" Then
Cells(12, Target.Column) = "2"
Cells(14, Target.Column) = "2"
Else
Cells(12, Target.Column) = "0"
Cells(14, Target.Column) = "0"
End If
ElseIf Not Intersect(Target, Union(Range("B7:AF7"), Range("B9:AF9"))) Is Nothing Then
If Cells(7, Target.Column) = "S" And Cells(9, Target.Column) = "N" Then
Cells(11, Target.Column) = "2"
Cells(13, Target.Column) = "2"
Else
Cells(11, Target.Column) = "0"
Cells(13, Target.Column) = "0"
End If
End If
J'ai copié la ligne qui analyse les colonne et les lignes en fonction de l'intitulé M dans une colonne et N dans celle précédente sur une autre colonne, mais lorsque je fais remplis mon tableau la commande qui analyse les Horaire Matin et Nuit de la nuit précédente arche bien et recopie le nombre 3 dans les colonnes et lignes intitulé garde papi mami et assadommais pas pour les autres
J'aimerai que lorsque dans une colonne de la ligne 7 il y a un S (soir), et que dans la meme colonne mais de la ligne 9 il y a un N (nuit) dans les lignes 11 et 13 de la meme colonne il y ai le nombre 2 a s'affiché automatiquement lorsque je remplis les lignes
Et de meme pour le J mais quand le J1 apparrait dans la colonne suivant le N
Je mets une copie d'écran pour vous montrer ce que cela donne
J'espère avoir été un peu plus clair
Merci pour voter aide
Bonjour
Nouvelle version à tester.
Bye ![/quote]
Bonjour
Merci pour ce tableau c'est ce que je cherchais à faire.
Je me permets de redemander de l'aide car j'ai rajouté 2 lignes au tableau indiquant par le choix du mode de garde en mettant une croix dans une celliule
Je me suis servis de la formule pour analyser les lignes de travail cédric et de vanessa
'On recherche les Choix de garde entre les lignes 12 et 15
ElseIf Not Intersect(Target, Union(Range("B11:AF11"), Range("B12:AF12"), Range("B14:AF14"), Range("B15:AF15"))) Is Nothing Then
'Choix mode de garde ASSADOM
If Target.Row = 12 Then
If Cells(12, Target.Column) = "X" And Cells(11, Target.Column) = "3" And Cells(14, Target.Column) = "3" Then
Cells(13, Target.Column) = "3"
Cells(16, Target.Column) = "0"
ElseIf Cells(12, Target.Column) = "X" And Cells(11, Target.Column) = "2" And Cells(14, Target.Column) = "2" Then
Cells(13, Target.Column) = "2"
Cells(16, Target.Column) = "0"
Else
Cells(13, Target.Column) = "0"
Cells(16, Target.Column) = "2"
End If
'Choix mode de garde papi memi
ElseIf Target.Row = 15 Then
If Cells(14, Target.Column) = "3" And Cells(11, Target.Column) = "3" And Cells(15, Target.Column) = "X" Then
Cells(16, Target.Column) = "3"
Cells(13, Target.Column) = "0"
ElseIf Cells(14, Target.Column) = "2" And Cells(11, Target.Column) = "2" And Cells(15, Target.Column) = "X" Then
Cells(16, Target.Column) = "2"
Cells(13, Target.Column) = "0"
Else
Cells(16, Target.Column) = "0"
Cells(13, Target.Column) = "2"
End If
End If
Mais j'ai un soucis
quand je modifie une cellule de la ligne choix mode de garde par exemple assadom ca ne marche pas correctement
En plus quand je change de mois la ligne 15 et 16 ne se recoppie pas correctement et j'ai l'impression que ces lignes ne se mettent pas en mémoire et efface les autres
Pourriez vous controler mon code VBA afin de savoir si je n'ai pas commis une erreur en reodifiant le tableau et les code VBA de mise en mémoire
Merci de votre aide
J'ai mis une copie d'écran
j'ai remis le fichier
encore merci de votre aide
Bonjour
didic974 a écrit :Pourriez vous controler mon code VBA afin de savoir si je n'ai pas commis une erreur en reodifiant le tableau et les code VBA de mise en mémoire
J’ai regardé , mais sans aller jusqu’à tout tester : le principe est bon.
J’ai néanmoins remarqué que tu avais supprimé la partie qui mettait automatiquement le tour de service de Cédric et de Vanessa lors de la création d’un nouveau mois : dommage !
Je pensais au contraire qu’il était regrettable qu’il n’y ait pas de tour théorique pour Absalom. On aurait pu le mettre aussi !
quand je modifie une cellule de la ligne choix mode de garde par exemple assadom ca ne marche pas correctement
Il te faudrait être plus précis : décris moi un cas précis en disant ce que tu mets dans quelle cellule, ce que tu obtiens et ce que tu voudrais obtenir.
En plus quand je change de mois la ligne 15 et 16 ne se recoppie pas correctement et j'ai l'impression que ces lignes ne se mettent pas en mémoire et efface les autres
Tu as modifié la taille des tableaux que tu mets en archive puisque tu as ajouté 2 lignes. Mais tu as gardé sur la feuille Archives des tableaux qui ont 2 lignes de moins.
Il te faut donc réinitialiser ta feuille Archives en l’effaçant complètement.
Pour la démasquer :
• Cliquer sur’’ Format’’ dans le bandeau, pavé : ‘’Cellules’’
• Choisir : ‘’Visibilité – Masquer & Afficher’’
• Choisir : Afficher la feuille
• Cliquer sur ‘’Archives’’
Si tu fais ça, cela devrait mieux fonctionner.
Bye !
gmb a écrit :Bonjour
didic974 a écrit :Pourriez vous controler mon code VBA afin de savoir si je n'ai pas commis une erreur en reodifiant le tableau et les code VBA de mise en mémoire
J’ai regardé , mais sans aller jusqu’à tout tester : le principe est bon.
J’ai néanmoins remarqué que tu avais supprimé la partie qui mettait automatiquement le tour de service de Cédric et de Vanessa lors de la création d’un nouveau mois : dommage !
Je pensais au contraire qu’il était regrettable qu’il n’y ait pas de tour théorique pour Absalom. On aurait pu le mettre aussi !
Je ne comprends pas le tour de service que j'aurais supprimé je ne voix pas a quoi cela correspond sur la partie code vba
gmb a écrit :quand je modifie une cellule de la ligne choix mode de garde par exemple assadom ca ne marche pas correctement
Il te faudrait être plus précis : décris moi un cas précis en disant ce que tu mets dans quelle cellule, ce que tu obtiens et ce que tu voudrais obtenir.
Quand le tableau se remplis automatiquement avec la trame de planning l'analyse ne se lance pas automatiquement sur l'ensemble du tableau il faut que je retape a chaque fois le planning.
De plus quand je choisi par exemple au mois de janvier 2016 la colonne G dans un premier temps je met une croix en G12 mon analyse fonctionne, le 2 reste en cellule G13 et s'efface en cellule G16, mais si j'efface la croix le 2 s'efface de G13 et réapparait en G16 alors qu'il devrait aussi rester en en G13.
J'ai l'impression que l'analyse de la fonction ne permet pas de retourner automatiquement en arrière.
J'ai remarqué que cela fait la meme chose si à la place de X je met G par exemple en ligne 13 ca s'efface et met 0 et met soit 2 ou 3 en ligne 16.
Me suis je trompé quelque part?
Merci encore de voter aide
Bonjour
didic974 a écrit :Je ne comprends pas le tour de service que j'aurais supprimé je ne voix pas a quoi cela correspond sur la partie code vba
Ta version 3 :
...
'On masque les colonnes du mois suivant
nbj = Day(DateSerial(Year(Range("B6")), Month(Range("B6")) + 1, 1) - 1)
Columns("AC:AF").EntireColumn.Hidden = False
Range(Columns(nbj + 2), Columns(33)).EntireColumn.Hidden = True
'On recherche les chevauchements Théoriques Matin de ligne 8 et Nuit de ligne 10
...
Ma version 2 qui recopiait le tour de service théorique (et que tu appelles ''Trame'' ?) :
'On masque les colonnes du mois suivant
nbj = Day(DateSerial(Year(Range("B6")), Month(Range("B6")) + 1, 1) - 1)
Columns("AC:AF").EntireColumn.Hidden = False
Range(Columns(nbj + 2), Columns(33)).EntireColumn.Hidden = True
'On recopie le cycle des postes à partir de la date demandée et de la trame
With Sheets("Trame de planning")
col = (Range("B6") - .Range("C3")) Mod 70 + 3
'Cédric théorique
.Range(.Cells(2, col), .Cells(2, col + 30)).Copy
Range("B7").PasteSpecial xlPasteValues
'Vanessa théorique
.Range(.Cells(4, col), .Cells(4, col + 30)).Copy
Range("B9").PasteSpecial xlPasteValues
End With
'On recherche les chevauchements Théoriques Matin de ligne 8 et Nuit de ligne 10
didic974 a écrit :Quand le tableau se remplis automatiquement avec la trame de planning l'analyse ne se lance pas automatiquement sur l'ensemble du tableau il faut que je retape a chaque fois le planning.
Forcément, il n'y a plus le code qui assure la mise en place du tour de service (ou de la trame)
Remets le et cela devrait rentrer dans l'ordre.
Remarque : cette mise en place se fait chaque fois que le mois ou l'année sont modifiés.
Au cas, je te joins ma version 4 :
OK ?
Bye !
Merci de ta réponse
J'ai replacé la totalité du code que tu as remis dans le post précédent
Mais cela ne fonctionne pas mieux
En effet si je me met en janvier 2017 les lignes ASSADOM théorique et papi mami théorique ne se remplissent pas automatiquement
Je te joins ma version 4 afin que tu puisse voir si cela viens du fait que j'ai mal recopier ou mal intégrer des choses
Merci de ton aide
didic974 a écrit :En effet si je me met en janvier 2017 les lignes ASSADOM théorique et papi mami théorique ne se remplissent pas automatiquement
Mais que voudrais-tu qu'il y ait dans ces lignes ?
Il n'y a pas pour ces deux items de tours théoriques sur la feuille ''Trame planning" comme pour Cédric ou Vanessa ...
A te relire
gmb a écrit :didic974 a écrit :En effet si je me met en janvier 2017 les lignes ASSADOM théorique et papi mami théorique ne se remplissent pas automatiquement
Mais que voudrais-tu qu'il y ait dans ces lignes ?
Il n'y a pas pour ces deux items de tours théoriques sur la feuille ''Trame planning" comme pour Cédric ou Vanessa ...
A te relire
Bonjour
Ben en fait j'aimerai qu'elle se remplisse automatiquement grace a la macro qui analyse et qui note dans les cellules de la lignes 11 et 14 soit 0 soit 2 soit 3 en fonction des plannings de cédric et vanessa en fonction du tour théorique de cédric et vanessa
Ce qui correspond en fait à ce qui est noté dans le bas du code vba mais quand je change d'année et de mois si le tableau n'est pas remplis le remplissage des lignes 11 et 14 ne se fait que si je retape les lettres correspondant aux horaires des lignes 7 et 9
Merci de votre aide