Planning évolutif | VBA | Excel 2003

Fermé
Hellowa Messages postés 11 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 28 avril 2009 - 22 avril 2009 à 15:19
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 - 23 avril 2009 à 09:31
Bonjour à toutes et a tous,
Je suis actuellement entrain de creer un système de gestion du personnel et de la production pour une petite entreprise, et mon niveau en visualbasic ne me permet pas d'avancer suffisamment.
Vous pourrez voir dans la pièce jointe une partie que j'ai extraite et simplifiée de mon tableau pour mieux comprendre le principe.
J'ai fait le maximum, mais je plante au niveau suivant:
J'aimerai que le chef de production n'aie qu'à actualiser le fichier ( avec une macro) pour qu'il se mette a jour:
En effet, il prévoit le planning d'atelier en général 3 ou quatres semaines a l'avance.
Lorsque l'on actualise le tableau, je souhaiterai que les semaines se décalent afin que la première a apparaitre soit la semaine en cours. La semaine précédente est effacée et la dernière est remplacée par une nouvelle semaine.
J'ai déjà trouvé comment faire pour qu'Excel sache quelle semaine on est, mais c'est pour la suite que j'ai du mal.
J'espère avoir été clair, les autres informations sont dans la pièce jointe et notamment sur la macro que j'ai commencé de créer.
Merci d'avance de votre aide qui comme j'ai pu le constater est toujours... excellente ( )
Bonne fin de journée a tous,
Hellowa

PJ: http://www.cijoint.fr/cjlink.php?file=cj200904/cijG9Q6cOi.xls
A voir également:

7 réponses

Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
22 avril 2009 à 15:51
Salut,

Je regarde ton fichier et y'a pas mal de tes questions ou je ne comprend pas ce que tu veux en fait.
Quand tu dit : "J'ai trouvé comment calculer les semaines, mais je n'arrive pas a les afficher"
Tu veux les afficher ou ?
"Est-ce possible de les calculer automatiquement?"
Tu parle des semaine là ? Parce que t'a macro les calcule déjà les semaine nan ?

Sinon, pourquoi les case des semaine sont des menu déroulant ?
Tu souhaite que l'utilisateur ne puisse rentrer qu'un des numero de tache du tableau de droite ?
Parce que si c'est le cas, c'est mal fait car tu peux taper un numero.
Bref dit moi ce que tu veux faire et je te ferai un truc un peu plus propre ;-)

Pour le reste j'ai ma petite idée, mais je veux tout comprendre avant de me lancer dans le truc
0
Hellowa Messages postés 11 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 28 avril 2009
22 avril 2009 à 16:08
Salut Raph,
Désolé ce n'est pas très clair.
-Le tableau de tout a l'heure en pièce jointe n'est qu'un exemple, je l'ai sortit de mon projet final. Les menus déroulants correspondent en effet a une liste simple mais au final, l'utilisateur ne rentrera qu'une valeur et qui sera beaucoup plus compliquée que ça, d'où l'intérêt des menus déroulants.
-Je souhaite que les semaines s'affichent dans la colonne verticale jaune a droite** du planning, actuellement, elle doivent être rangées a la main. J'ai retouché la macro et j'arrive à ça:

Sub Decalage_semaine()
 Dim SEM As Integer, Iligne As Integer
 
'On calcule tout d'abbord la semaine en cours
SEM = WeekNumber(Now)
'On vérifie que l'on a bien passé une semaine
If Cells(3, 7) = "Semaine" & SEM Then
    MsgBox " Nous sommes encore en semaine " & SEM
    Else
'Et si c'est bon, on lance le programme
'Puis on la modifie sur le tableaux
       Iligne = Range("G1").End(xlDown).Row
      Do Until SEM <= SEM + 3
            Cells(Iligne, 7) = "Semaine" & SEM
            Iligne = P + 3
            SEM = SEM + 1 
(Le problème vient de ma boucle, en la bidouillant je tombe parfois sur des boucles infinies, merci le ctrl+Pause ^^)
      Loop
End If
End Sub


Ensuite, j'aimerai que lorsque l'on change de semaine, le tableau se décale d'un "cran" vers le haut. C'est a dire, par exemple, nous sommes semaine 17, lundi prochain j'aimerai que la semaine 17 disparaisse, que la semaine 18 la remplace etc... Et que la dernière soit la 21 (logique) et qu'elle soit vierge...
En fait, ce n'est pas l'aspect du tableau que je recherche pour l'instant; je recherche un fonctionnement que je puisse adapter a un plus grand modèle!
Merci d'avance de ton aide!
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
22 avril 2009 à 16:25
Pour déplacer les semaine je pensais juste faire un simple couper coller...
Et je pensais juste mettre un bouton : Changer de semaine pour lancer cette fonction, je vais voir si j'arrive à le faire automatiquement ou pas.
Je vais essayer de voir ce que je peux faire.
0
Hellowa Messages postés 11 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 28 avril 2009
22 avril 2009 à 16:31
Un bouton suffirai! (Je ne sais pas comment en faire)
Et oui bien sur que cela peut se faire automatiquement!!
Fais comme tu le sens!
Et merci!!
(Je suis débutant novice de VB, j'ai commencé hier... je ne sais meme pas comment faire un couper coller, mais celà doit marcher bien sur, ça me va très bien!)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
22 avril 2009 à 19:59
Bonjour Hallowa, Raph

je propose ci-joint une autre manière de planning sans macro (maquette sur quelques semaines sans souci de présentation et de lisibilité pour l'utilisateur) et réutilisable chaque année
https://www.cjoint.com/?eyjuUdjLBb

"pour montrer", les seules saisies a effectuer sont sur fond bleu (j'ai protégé les feuilles)

Il y a une feuille "saisie" qui reprend toute l'année (pour la mémoire du travail affecté)
1 feuille "planning" glissante sur 3 semaines (on pourra monter à 4), tu saisis le numéro de la semaine ( de 1 à 53) en E4 de la feuille planning et tu as le planning jusqu'àu numéro saisi +2 (on peut ainsi regarder les semaines passées)
Je complèterai avec les mentions de jours fériés si tu le désires et il y aura quand une macro pour remettre à zéro en 2010..

Si tu es en Europe la fonction NO.SEMAINE est fausse (système US) j'ai donc remplacer par le N° semaine ISO
source: laurent Longre
http://xcell05.free.fr/pages/form/index.html

Tu dis si tu es intéressé par ma proposition.

Dans l'attente
0
Hellowa Messages postés 11 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 28 avril 2009
23 avril 2009 à 09:20
Bonjour Michel,
Merci de ta version, mais je souhaitait faire un fichier entièrement en VB. En effet, la partie que je vous ai montré n'est qu'un extrait d'un projet plus important!
Cependant, votre version m'a permis d'apprendre encore de nombreuses choses sur excel ( les liens entre les cellules d'une feuille à l'autre...)
Bonne journée,
Hellowa

P.S: Concernant le numéro des semaines, j'ai longtemps buté dessus (norme américaine, norme ISO) et j'ai fini par trouver une source fiable sur sur codeSsourceS, compatible avec la norme ISO!
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
23 avril 2009 à 09:31
Salut,

Joli travail michel, je butais justement sur NO.SEMAINE :-p
0