bonjour je suis nouvelle ici et je souhaiterai créer un planning où les 47 employés pourrait intégrer leurs horaires il y 4 types d'horaires et 3 tupes de pauses.
bonsoir le fil, salutations à etoto et à chti160
re smahancharif
j'ai pris en compte votre demande, (ce qui m'a amené à modifier beaucoup de macro) tout en développant une solution basée sur le fil 143, Classeur perpétuel avec sauvegarde automatique une fois par semaine. (si vous ne souhaitez pas de sauvegarde vous pouvez la neutraliser, en cellule X2 de la feuille Configuration)
J'ai supposé que vous ne travaillez pas les jours fériés, j'ai donc adopté une solution ou les jours fériés sont neutralisé dans le formulaire. (faites un essai avec la semaine 21, 44, 45 de l'année 2022)
exemple : si vous travaillez le lundi de pentecôte, supprimez la date de la feuille configuration
Dans ce classeur, l'année à l'ouverture correspond à la...
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
Range("A3:AF" & lig2).Select
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Add2 Key:=Range("C3:C" & lig2) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Base").Sort
.SetRange Range("A3:AF" & lig2)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A9500:AF10000").Select
Selection.ClearContents
Range("A3").Select
Application.ScreenUpdating = True
End Sub
voilà le fichier va être mis en place, et je voudrais savoir s'il est possible de faire en sorte que plusieurs personnes puissent encoder en même temps; le rendre en multi-taches?
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
Range("A3:AF" & lig2).Select
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Add2 Key:=Range("C3:C" & lig2) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Base").Sort
.SetRange Range("A3:AF" & lig2)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A9500:AF10000").Select
Selection.ClearContents
Range("A3").Select
Application.ScreenUpdating = True
End Sub
voilà le fichier va être mis en place, et je voudrais savoir s'il est possible de faire en sorte que plusieurs personnes puissent encoder en même temps; le rendre en multi-taches?
re smahancharif, bonsoir le forum
A tous meilleur vœux pour 2022
voilà le fichier va être mis en place, et je voudrais savoir s'il est possible de faire en sorte que plusieurs personnes puissent encoder en même temps; le rendre en multi-taches?
Perso je ne sais pas, il vaudrait mieux qu'un spécialiste réseau vous apporte des réponses.
Pour être sur d'avoir des réponses, il vaudrait mieux ouvrir un autre fil avec un titre pertinent qui attire un maximum de spécialistes. Si d'aventure je devrais avoir une solution je vous la publierai sur ce fil.
cdt
galougalou
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
Range("A3:AF" & lig2).Select
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Add2 Key:=Range("C3:C" & lig2) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Base").Sort
.SetRange Range("A3:AF" & lig2)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A9500:AF10000").Select
Selection.ClearContents
Range("A3").Select
Application.ScreenUpdating = True
End Sub
re smahancharif
Vous écrivez aujourd'hui et le hasard fait bien les choses, ce matin, je regardais la dernière version du classeur et j'ai constaté que la macro de la feuille Base n'était pas adapté à la dernière évolution du classeur, car la plage de tri correspond aux premières versions. Ce qui doit forcément créer des erreurs dans votre planning.
Si vous utilisez ce classeur dans cette version, il faudrait remplacer la macro de la feuille Base par celle ci.
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
On Error Resume Next
lig2 = Cells(Rows.Count, 3).End(xlUp).Row
Range("A3:AF" & lig2).Select
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Base").Sort.SortFields.Add2 Key:=Range("C3:C" & lig2) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Base").Sort
.SetRange Range("A3:AF" & lig2)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A9500:AF10000").Select
Selection.ClearContents
Range("A3").Select
Application.ScreenUpdating = True
End Sub
autre chose, serait-il possible de ne pas indiquer l'horaire de fin automatiquement mais d'avoir une cellule où qui indiquerait le total d'heures? je m'explique certaine personne prestent à 4/5 ou à 9/10 et donc le fichier ne peut correspondre à leurs horaires?
merci
autre chose, serait-il possible de ne pas indiquer l'horaire de fin automatiquement mais d'avoir une cellule où qui indiquerait le total d'heures? je m'explique certaine personne prestent à 4/5 ou à 9/10 et donc le fichier ne peut correspondre à leurs horaires?
merci
Bonjour, j'imagine que je vous embête, peut-être pourriez-vous m'indiquer quelqu'un qui saurait faire ces modifications; en effet je dois le mettre en place semaine prochaine et je comprends bien que vous n'avez pas le temps. Une autre personne du forum?
re
Votre demande implique de concevoir un autre fonctionnement du classeur.
J'ai pour l'instant réussi à gérer le lundi, mais il faut vérifiez que toutes les macros fonctionnent correctement. Il devrait rester environ encore 6 heures de travail pour la mise au point. Et à temps perdu cela va prendre du temps. Dans le meilleur des cas, demain peut-être.
En principe sur le forum, on vient chercher des pistes pour concevoir son projet et le mener par soi-même à son terme.
Comme je ne suis pas propriétaire du projet, si un autre membre du forum peut vous apporter une réponse, il ne manquera pas de le faire, mais souvent les intervenants ne modifie pas les codes qu'ils n'ont pas conçus.
en pièce jointe un essai avec uniquement le lundi à évaluer, mais attention ce n'est pas encore finalisé. tout reste à faire.
le principe, le collaborateur choisi l'horaire de sa fin de service et tous les calculs sont automatiques.
Mais je répète, le projet n'est pas encore finalisé.
cdt
galougalou
re
Votre demande implique de concevoir un autre fonctionnement du classeur.
J'ai pour l'instant réussi à gérer le lundi, mais il faut vérifiez que toutes les macros fonctionnent correctement. Il devrait rester environ encore 6 heures de travail pour la mise au point. Et à temps perdu cela va prendre du temps. Dans le meilleur des cas, demain peut-être.
En principe sur le forum, on vient chercher des pistes pour concevoir son projet et le mener par soi-même à son terme.
Comme je ne suis pas propriétaire du projet, si un autre membre du forum peut vous apporter une réponse, il ne manquera pas de le faire, mais souvent les intervenants ne modifie pas les codes qu'ils n'ont pas conçus.
en pièce jointe un essai avec uniquement le lundi à évaluer, mais attention ce n'est pas encore finalisé. tout reste à faire.
le principe, le collaborateur choisi l'horaire de sa fin de service et tous les calculs sont automatiques.
Mais je répète, le projet n'est pas encore finalisé.
cdt
galougalou
merci vraiment!! demain ce sera fort bien. je me doute que c'est juste une aide mais comme je l'ai dit je n'ai jamais travaille sur Visual Basic... alors merci pour tout!!!!
re
Votre demande implique de concevoir un autre fonctionnement du classeur.
J'ai pour l'instant réussi à gérer le lundi, mais il faut vérifiez que toutes les macros fonctionnent correctement. Il devrait rester environ encore 6 heures de travail pour la mise au point. Et à temps perdu cela va prendre du temps. Dans le meilleur des cas, demain peut-être.
En principe sur le forum, on vient chercher des pistes pour concevoir son projet et le mener par soi-même à son terme.
Comme je ne suis pas propriétaire du projet, si un autre membre du forum peut vous apporter une réponse, il ne manquera pas de le faire, mais souvent les intervenants ne modifie pas les codes qu'ils n'ont pas conçus.
en pièce jointe un essai avec uniquement le lundi à évaluer, mais attention ce n'est pas encore finalisé. tout reste à faire.
le principe, le collaborateur choisi l'horaire de sa fin de service et tous les calculs sont automatiques.
Mais je répète, le projet n'est pas encore finalisé.
cdt
galougalou
Une petite question: serait-il possible qu'il encode manuellement leur heure de fin de service et que le calcul se fasse automatiquement; je m'explique certaines personnes devront prester 30h et 80 centièmes (48 min) ou 34h et 65 centième ( 39 min). en raison de leur réduction de temps de travail... si ce n'est pas possible ne vous inquiétez pas... je leur dirais de prendre celui qui correspond le mieux. merci
re smahancharif
un essai qui devrait correspondre à votre attente, mais vu l'heure tardive je ne suis pas sur que tout le classeur soit ok. il me faudra du temps pour vérifier que les codes sont corrects. La réalisation à été trop rapide et je n'ai pas pu accorder toute l'attention nécessaire.
Vu les identifiants complexes je vous ai rajouté une combobox pour identifier les utilisateurs. La saisie sera facilitée.
j'ai modifié dans la feuille base le code.
pour la fin de service : les collaborateurs peuvent saisir à la minute près la fin de leur service, mais attention, il faudra par un clic ou par la touche entrée valider la saisie pour que les calculs soient effectifs.
dans le formulaire si une incohérence de saisie est faite, (ex une pause qui fini à 13h30 mais le service à 13h00) une alerte rouge apparaitra et empêchera de valider la saisie.
je vous donnerais un peu plus d'explication dans les prochains jours, pour que vous puissiez vous approprier les codes vba.
cdt
galougalou