Excel charge CAPA

dd1975

XLDnaute Nouveau
Bonjour,
Je suis actuellement en BTS ATI à 41 ans après une reprise d’études (4 ans en tout avec un bac). Je dois réaliser le cahier des charges d'un logiciel pour gérer la charge CAPA (charge de travail) d'un îlot de production. Je dois également créer un fichier Excel en attendant, afin d'unifier la façon de saisie de tous les îlots de production, 5 au total.
Alors j'en ai créé un mais je suis assez limité, de par mon expérience dans ce domaine (0) et des fonctions que je ne connais pas .... J'ai commencé par recenser :
  1. tous les équipements de mon îlot,
  2. les monteurs habilités par équipement,
  3. les étapes de montage,
  4. le temps de montage de chaque équipement.
L'on travaille par semaine de production donc j'ai classé par équipement avec les semaines de production, le tout en cellules fixes. J'ai ajouté aussi Samrad Date Picker afin d'afficher une date de livraison.

La production est indiquée par un numéro d'Ordre de Fabrication (OF) répondant à un Ordre de Vente (OV).
Il y a donc une planification. Mon job d'agent d'ordonnancement consiste à marquer les phases d’élaboration des OF jusqu'à ce que l'agent de maîtrise lui prenne le relais en indiquant les phases de production / j'ai donc sous chaque équipement deux lignes, une pour l'agent d'ordonnancement avec les phases d’élaboration puis une ligne avec les étapes de production pour l'agent de maîtrise ... le tout en listes déroulantes avec des mises en condition de cellules suivant les étapes ....
J'ai un discriminant afin que d'un clique je puisse avoir une visibilité sur 3 semaines ....

Bon je vais sur ce qui me chagrine ... cela marche bien pour un OF mais si pour une semaine j'ai 2 OF, je suis obligé de copier les deux lignes puis de les insérer, je souhaiterai pouvoir avoir un "bouton" pour insérer les deux lignes sous le numéro d’équipement ....
Je voudrais aussi verrouiller des cellules car on peut vite y mettre du bazar ... Pouvoir decaller ce qui n'a pas été livré d'une semaine sur l'autre sans que cela n’altère les formules ...

En bas de page, j'ai une formule qui me donne le nombre d’équipements à produire, ce nombre multiplié par le temps de montage d'une unité, le nombre de monteurs présents et le temps de monteurs (33.04h par monteur) dont je dispose. Suivant si ce que j'ai à produire ou pas, il y a une couleur également ....

Bon pour faire simple je manque de conseils car grâce à des tutos et des videos sur internet, j'ai pu monter cela mais là cela devient un peu plus specifique. De plus, ma boite dispose d'un service informatique mais d'aucun référant Excel et encore mieux ... personne ne sait s'en servir, mise à part pour remplir, mais pour ce qui est de créer .... c'est une autre histoire.

Voilà, si certains d'entre vous veulent bien m'orienter ... ce serait super sympa !!!!
Au plaisir de vous lire !!!!
 

Pièces jointes

  • Capa ilot 5 - Semaine 02 copie.xlsx
    2.7 MB · Affichages: 93

Bebere

XLDnaute Barbatruc
bonsoir
dd bienvenue
le code pour insérer 2 lignes vides est fait
explique ce que tu veux y mettre et comment
possibilités: recopier les données et formules de lignes précédentes ou y mettre de nouvelles données(dans ce cas tu m'expliques)
 

dd1975

XLDnaute Nouveau
Bonsoir,

Merci de ta réponse !!
En fait, il faudrait que les lignes contiennent les données des équipements .. je clique et j'ai mes deux lignes vides mais qui ont les phases de montage correspondantes et la liste de monteurs habilités que je renseigne par la suite...
Autre chose, un collègue de travail m'a dit d'essayer cette formule au lieu du SI OU:
=SI(NBVAL($D$20;$G$20;$J$20)>=1;"X";"")
Le soucis se pose dans le fait qu'en fin de semaine on doit basculer sur la semaine suivante les Ordres de Fabrication qui n'ont pas été livrés et l'on doit avancer en terme de semaine .... pour cela il faut trouver un moyen de déplacer les cellules sans tout "abîmer" alors soit par le fait de dupliquer le fichier en le renommant de la semaine suivante et de copier coller soit autrement ??
Il me faut verrouiller aussi cellules et format pour que les agents de maitrise soient limités afin de ne rien abimer non plus ...
Bon je ne sais pas si je suis clair :)
Mais merci !!!

Cordialement,

Dd.
 

Bebere

XLDnaute Barbatruc
Bonjour
Dd le mieux pour garder la feuille intacte c'est d'employer un userform
je te fais un début pour te montrer et le met dans la journée
le principe serait celui çi,double clic sur une cellule article
ajout de 2 lignes si nécessaire(à toi de dire) ,l'userform apparait et tu auras des fenêtres pour choisir ou remplir
pour terminer un bouton pour valider(protéger la feuille y compris)
tu me diras sur quel critère tu passes des données d'une semaine à l'autre
 

Bebere

XLDnaute Barbatruc
bonsoir
dd voilà une proposition,la feuille capa est un peu changée les données sont un tableau excel (listobject)
il y a des commentaires dans l'userform et le code(feuille et modules)
le bouton valider n'est pas opérationnel
 

Pièces jointes

  • Capa ilot 5 - Semaine 02V1.xlsm
    2.7 MB · Affichages: 183

Bebere

XLDnaute Barbatruc
bonjour
Dd voilà un code pour le bouton valider
pas testé tout
Code:
Private Sub CommandButton1_Click()    'valider
    Dim cle As String
   
    For L = 1 To Me.ListView1.ListItems.Count
    'ligne article
    If L = 1 Then
        cle = Me.ListView1.ListItems(L).ListSubItems(1).Key
        Lo.Range(cle).Value = Me.ListView1.ListItems(L).ListSubItems(cle)    'colonne p/u
        cle = Me.ListView1.ListItems(L).ListSubItems(3).Key
        Lo.Range(cle).Value = Me.ListView1.ListItems(L).ListSubItems(cle)   'colonne qté
        cle = Me.ListView1.ListItems(L).ListSubItems(4).Key
        Lo.Range(cle).Value = Me.ListView1.ListItems(L).ListSubItems(cle)    'colonne obs
        End If
        'ligne php
       If Me.ListView1.ListItems(L).Text = "PHP" Then
        cle = Me.ListView1.ListItems(L).ListSubItems(3).Key
        Lo.Range(cle).Value = Me.ListView1.ListItems(L).ListSubItems(cle)   'colonne of
        End If
        'ligne monteur
       If Me.ListView1.ListItems(L).Text = "MONTEUR" Then
        cle = Me.ListView1.ListItems(L).ListSubItems(2).Key
        Lo.Range(cle).Value = Me.ListView1.ListItems(L).ListSubItems(cle)    'colonne of
         cle = Me.ListView1.ListItems(L).ListSubItems(3).Key
        Lo.Range(cle).Value = Me.ListView1.ListItems(L).ListSubItems(cle)    'colonne qté
        End If
    Next L

End Sub
 

dd1975

XLDnaute Nouveau
Hello,
Désolé de ne pas avoir répondu plus tôt mais j’étais à l’école ...
J'ai regardé pour le fichier Excel et je vais reformuler ma vision de la chose :)
En revanche, pour le code, je ne sais pas où et comment ca se fait ....
Merci en tous cas
 

Discussions similaires