Projet de Planning Complexe de A à Z

belerofon

XLDnaute Occasionnel
Bonjour tout le monde...
Il y a quelques années j'avais conçu quelques petites feuilles de calculs agrémentées de petites macros sympatoches, mais à force de ne plus pratiquer, j'ai quasiment oublié tout ce que j'avais appris grâce à vous ici même... Aujourd'hui, je me retrouve à devoir développer un projet informatique de Planning pour mon service... Le projet tel que je le conçoit est plutôt complexe en l'état actuel de mes souvenirs, mais je compte bien ré-apprendre ce qui m'a fait passé tellement de temps à mon clavier à faire joujou avec tout ce codage VBA :)
Alors à tous ceux qui aiment pianoter et qui souhaitent me filer un coup de main ( ou un coup de pied :) ), LET'S GO!

Contraintes : Le fichier sera développé sur un Mac, mais devra être compatible avec un environnement Windows...

J'ai commencé une ébauche du fichier qui grossira jour après jour, au fur et à mesure de mes progrès et de votre aide...
le voici ci-joint :

Le Fichier : Il est composé d'un onglet accueil sur lequel des boutons appelant des formulaires fleuriront , un onglet "Personnel" , et 12 onglets pour les 12 Mois de l'année du planning à réaliser...
J'ai commencé à préparer un formulaire pour gérer le Personnel du service...
L'idée est de pouvoir :
1) Créer un personnel en saisissant ses infos puis de créer une ligne correspondante en validant ( bouton Créer )dans l onglet Personnel
2) Pouvoir modifier ses infos après l avoir sélectionné ( avec la combobox qui ira chercher dans le range de l ensemble du personnel de l onglet personnel , ce qui implementera les champs relatif au personnel dans le Frame Personnel du formulaire)
3) Pouvoir supprimer un personnel et la ligne qui lui correspond (meme principe )

L'idée à terme est de générer dans les onglets mensuels un planning dont seuls les Personnels présents le mois concerné n'apparaitront dans la colonne du personnel...

En avançant déjà ce petit morceau, je pourrais me refamiliariser avec du code, des déclarations de variable, me réhabituer a la syntaxe et devenir petit à petit un peu moins boulet :)

Quand les objectifs seront atteints, je vous ferait part d une nouvelle partie du projet :)

D'avance merci à vous les cracks...
Juju
 

Pièces jointes

  • Projet Planning COG.xlsm
    204.8 KB · Affichages: 70
  • Projet Planning COG.xlsm
    204.8 KB · Affichages: 59
Dernière édition:

néné06

XLDnaute Accro
Re : Projet de Planning Complexe de A à Z

Bonjour Juju,

Actuellement, je travail sur un petit planning qui fonctionne sur PC.
Ce projet n'est pas encore finalisé mais devrait tourner dans l'état.
Je compte, par la suite le développer avec d'autres options.
Je dépose cette "mouture" qui devrait te donner quelques idées, je pense ?

Regardes si cela t'intéresse !

A+

René
 

Pièces jointes

  • Planning René start.xlsm
    328 KB · Affichages: 71
  • Planning René start.xlsm
    328 KB · Affichages: 73

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Salut Néné,
Merci pour ta réponse rapide... Je retrouve déjà ici l'ambiance de l'époque ou tout le monde pousse dans le même sens pour pour s'entraider et aboutir ses projets respectifs...
Je viens de jeter un coup d'oeil rapide à ton projet de planning... Et déjà je m'aperçois que bosser sur MAC va être une galère supplémentaire à gérer car , entre autre, MAC ne gère pas les Contrôles ActiveX... Du coup, impossible de lancer aucun formulaire ni aucune macro en cliquant sur les boutons :(
Sous MAC je pense que mes Bouttons devront forcément être des "Formes" auxquelles j'affecterais des macros qui lanceront si besoin des formulaires...
Je retourne creuser ton fichier cependant pour aller épier ce qu'il s'y passe au niveau du codage VBA...
Merci encore pour ton aide qui sera précieuse je n'en doute pas ;)
Juju
 

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Re,
Oui effectivement avec de la bidouille , tout est adaptable :)
Déjà , après quelques coups d'oeil , je vais probablement changer mon Formulaire de Personnel en 3 Pages par un Formulaire en 1 seule Page mais qui offrira les 3 possibilités ( Création / Modification / Suppression ) , ça allégera déjà en terme de codage et de variable a déclarer :)
 

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Bon, en farfouillant à droite à gauche, j'ai un peu avancé le codage du formulaire ...
( les combobox s implementent, la recherche de personnel via la combobox fonctionne, le remplissage d une fiche de personnel en fonction de la sélection du personnel fonction presque ...)

Premier blocage : Impossible de trouver la syntaxe pour forcer le formatage des dates d'Arrivée et de Départ dans VBA
le reste semble s afficher correctement...

Quelqu'un saurait-il jeter un coup d'oeil au code et éventuellement le corriger pour l'alléger ou le rendre plus efficace? Comme ça je ne referais plus les mêmes erreurs

Prochaine étape : Enregistrer un nouvel agent en insérant une ligne dans l onglet Personnel , puis supprimer un personnel en supprimant la ligne qui lui correspond...
 

Pièces jointes

  • Projet Planning COG.xlsm
    210.5 KB · Affichages: 60
  • Projet Planning COG.xlsm
    210.5 KB · Affichages: 62

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Topo à 15h22 :
Pas mal avancé cet après midi... Le Formulaire du Personnel est opérationnel dans ses trois fonctions ( Création / Modification / Suppression )
( l'aspect graphique est pas ma préoccupation du moment , on s en fou si c est moche pour le moment )

Je coince toujours concernant les formats imposé de dates... Il me faudrait impérativement pouvoir forcer l utilisateur a saisir les dates d arrivée et de départ avec un format du type mm/yyyy pour ensuite pouvoir générer les planning en fonction des personnels affecté au service le mois concerné...

Quelqu'un saurait il me dépanner pour ça?

Maintenant , nouvel objectif :
- Générer un onglet du type "Jan" avec tout le personnel dont la date d'arrivée est antérieure à la date d'aujourd'hui et en excluant ceux dont la date de sortie est déjà passé ( le but étant de ne pas utiliser de ligne pour des personnes qui ne travailleraient pas encore ou pu dans le service)

La c est un gros morceau, et je pense être trop just niveau connaissances....

En revanche je joint a nouveau la dernière mouture du fichier pour ceux intéressés, et aussi pour ceux qui veulent debuggé ou corriger mes erreurs de noob pour la partie codage ;)

Merci les copains...
Juju
 

Pièces jointes

  • Projet Planning COG.xlsm
    223.4 KB · Affichages: 73
  • Projet Planning COG.xlsm
    223.4 KB · Affichages: 67
Dernière édition:

néné06

XLDnaute Accro
Re : Projet de Planning Complexe de A à Z

Re,
il y avait une erreur de caractéres dans le lancement de la macro:

-Placé sur ton programme
Rectangleˆcoinsarrondis1_QuandClic()

Orthographe devant être placée
Rectangleàcoinsarrondis1_QuandClic()

A+

René
 

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Salut les Potos,
J'ai un peu avancé dans le projet... Comme vous pourrez le voir dans le fichier joint, désormais la génération de planning vierge est opérationnelle ( elle tient même compte des années bissextiles)...

Du coup, j'en appelle à vous les experts pour optimiser le code toujours dans le but d'alléger cette "future usine a gaz"
Pour ceux que ça intéresse aussi de débugger ou simplement profiter du code, c'est open bar ;)

Maintenant , j'attaque le prochain objectif ( si certains veulent aider ...) , à savoir, implémenter dans la colonne A des onglets mensuels, les noms des personnels travaillant dans le service le mois concerné, en les classant dans leur catégorie ( chef de salle, opérateur professionnel , opérateur volontaire)... Pour gagner en visibilité, on masquera les lignes de chaque catégorie qui ne seront pas affectées à un personnel...

Allez hop c'est parti...
Juju
 

Pièces jointes

  • Projet Planning COG.xlsm
    121.8 KB · Affichages: 58
  • Projet Planning COG.xlsm
    121.8 KB · Affichages: 63
Dernière édition:

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Salut les Potos,
Une nouvelle journée a balbutier sur mon "petit" projet de planning... de nouvelles avancées...
Je suis venu à bout de la génération de planning combinée à l assignation des personnels aux bons mois ainsi qu a la révision du personnel mois par mois pour parer a des arrivées en cours d année :)

Bon , je reste convaincu que le code est largement améliorable pour l'alléger mais a chaque fois que j ai essayer ça ralenti le processus de création du calendrier... Un expert aurait il la gentillesse de me donner son avis sur le code et m aiguiller sur des idées d amélioration?

Comme d'hab je partage mon travail... Si certains veulent me remonter des bugs pour ceux qui travaillent sous environnement windows... Merci d'avance...

Maintenant j ai plusieurs possibilités de progression dans le projet... sois m attaquer au gros morceau de la gestion statistique , sois m attaquer a un nouveau formulaire pour gérer la diffusion du planning par email en sélectionnant les destinataires a la demande...

Bonne soirée à tous ;)
Juju
 

Pièces jointes

  • Projet Planning COG.xlsm
    174.7 KB · Affichages: 87
  • Projet Planning COG.xlsm
    174.7 KB · Affichages: 84

grisan29

XLDnaute Accro
Re : Projet de Planning Complexe de A à Z

bonjour belerofon, néné06

ton classeur manque de clarté dans les codes vba car il manque l'indentation
j'ai pris un exemple dans l'userformGenerer pour le code entête

tu as écrit comme ceci
Code:
' Routine permettant de remplir la partie haute du planning avec les bons jours et colorer les week ends
Private Sub Entete()
Dim X As Integer

With WS
If .Range("A1").Value = "Lundi" Then
.Range("B1", "BK2").Value = .Range("B60", "BK61").Value
End If
If .Range("A1").Value = "Mardi" Then
.Range("B1", "BK2").Value = .Range("B63", "BK64").Value
End If
If .Range("A1").Value = "Mercredi" Then
.Range("B1", "BK2").Value = .Range("B66", "BK67").Value
End If
If .Range("A1").Value = "Jeudi" Then
.Range("B1", "BK2").Value = .Range("B69", "BK70").Value
End If
If .Range("A1").Value = "Vendredi" Then
.Range("B1", "BK2").Value = .Range("B72", "BK73").Value
End If
If .Range("A1").Value = "Samedi" Then
.Range("B1", "BK2").Value = .Range("B75", "BK76").Value
End If
If .Range("A1").Value = "Dimanche" Then
.Range("B1", "BK2").Value = .Range("B78", "BK79").Value
End If

For X = 5 To 58
If .Range("A" & X).Value = "" Then
.Rows(X).RowHeight = 0
End If
Next X

End With

hors c'est plus joli et lisible comme ceci

Code:
Private Sub Entete()				
	Dim X As Integer			
				
	With WS			
		If .Range("A1").Value = "Lundi" Then		
			.Range("B1", "BK2").Value = .Range("B60", "BK61").Value	
		End If		
		If .Range("A1").Value = "Mardi" Then		
			.Range("B1", "BK2").Value = .Range("B63", "BK64").Value	
		End If		
		If .Range("A1").Value = "Mercredi" Then		
			.Range("B1", "BK2").Value = .Range("B66", "BK67").Value	
		End If		
		If .Range("A1").Value = "Jeudi" Then		
			.Range("B1", "BK2").Value = .Range("B69", "BK70").Value	
		End If		
		If .Range("A1").Value = "Vendredi" Then		
			.Range("B1", "BK2").Value = .Range("B72", "BK73").Value	
		End If		
		If .Range("A1").Value = "Samedi" Then		
			.Range("B1", "BK2").Value = .Range("B75", "BK76").Value	
		End If		
		If .Range("A1").Value = "Dimanche" Then		
			.Range("B1", "BK2").Value = .Range("B78", "BK79").Value	
		End If		
				
		For X = 5 To 58		
			If .Range("A" & X).Value = "" Then	
				.Rows(X).RowHeight = 0
			End If	
			Next X	
				
		End With

si tu ne sais pas le faire il y a un site qui le fait tu copie ton code et tu le colle puis tu clic sur indente et tu recopie le résultat
VB Code Indenter
et autrement dans le même userform, j'aurai mis un array pour l'initialisation du combomois

et il y a un bug si je mets 2015 en date de géneration d'onglet a la 1ere ligne des "if" car je pense que "ws" n'est pas ou mal déclaré

Pascal
 
Dernière édition:

belerofon

XLDnaute Occasionnel
Re : Projet de Planning Complexe de A à Z

Bonjour Maitre Grisan,

Merci pour ta participation... Tu as tout a fait raison... Avant d aller plus loin je vais revoir tout mon code pour le rendre plus lisible avant de penser a le simplifier.... Je vais également regarder cette histoire de Array et de déclarations...
J ai eu l opportunité de bosser sous windows cette nuit donc la prochaine mise a jour du fichier devrait être pas mal debuggé ( je me suis rendu compte que les accents n étaient pas du tout géré de la meme façon sur MAC et sur Windows... :( )

Juju
 

Statistiques des forums

Discussions
314 647
Messages
2 111 533
Membres
111 197
dernier inscrit
john49