IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

convertir un fichier excel simple à un macro


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut convertir un fichier excel simple à un macro
    veuillez trouver en piéce jointe mon planning de production qui fonctionne comme ca :

    feuille base : planning global pour les 2 lignes de production .

    la répartition des lignes de feuille base font selon la colonne N : SI le chiffre commence par 1 alors la ligne sera affecté dans la feuille linge 1 et si le chiffre commence par 2 alors la ligne sera affecté dans la feuille ligne 2 .

    pour la 2éme chiffre c'est l'ordre de ligne par exemple : 1_1 c'est a dire que l’utilisateur de fichier va affecter la ligne de feuille base dans la feuille ligne 1 au 1er ordre .
    1_2 : c'est a dire que l’utilisateur de fichier va affecter la ligne de feuille base dans la feuille ligne 1 au 2eme ordre .

    les caclules des temps fin opération et début sont basé sur le nombre des opérateurs ( écrit en bleu ) et le temps des 100 pièces .

    je veut transformer les formules dans un macro pour avoir une boutton réparition ou lorsque je clique elle fait la répartition selon la colonne N .

    Aussi je veut a jouter une méthode de comparaison (un graphique) entre le temps théorique et le temps réel par exemple si le temps théorique se pose que la tache ce termine à 10h00 et j'ai dépassé ce temps j'aime avoir une truc en rouge ou bien une alerte .


    Merci pour votre compréhension
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    Un début de solution.
    Pour ce qui concerne la répartition, cela peut se faire ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Option Explicit
     
    Sub Repartition()
        Dim wBase As Worksheet, wL1 As Worksheet, wL2 As Worksheet
        Dim kR As Long, kL As Long, kRd As Long
        Set wBase = ActiveWorkbook.Worksheets("base")
        Set wL1 = ActiveWorkbook.Worksheets("ligne1")
        Set wL2 = ActiveWorkbook.Worksheets("ligne2")
        kR = 4
        wL1.Range("A4:O12").Clear   '--- vide feuille ligne1
        wL2.Range("A4:O12").Clear   '--- vide feuille ligne2
        With wBase
            While .Cells(kR, 1) <> ""
                kL = Val(.Cells(kR, 14))            '--- n° ligne
                kRd = Val(Mid(.Cells(kR, 14), 3))   '--- n° ordre dans ligne
                If kL = 1 Then
                    .Range(.Cells(kR, 1), .Cells(kR, 14)).Copy wL1.Cells(kRd + 3, 1)
                    If kRd = 1 Then wL1.Cells(kRd + 3, 9) = .Cells(4, 9)   '--- heure démarrage
                ElseIf kL = 2 Then
                    .Range(.Cells(kR, 1), .Cells(kR, 14)).Copy wL2.Cells(kRd + 3, 1)
                    If kRd = 1 Then wL2.Cells(kRd + 3, 9) = .Cells(4, 9)   '--- heure démarrage
                Else
                    MsgBox "Erreur: pas de ligne " & kL, , "Anomalie"
                End If
                kR = kR + 1
            Wend
        End With
        Set wBase = Nothing
        Set wL1 = Nothing
        Set wL2 = Nothing
    End Sub
    En attaché, un exemple, avec cependant des formules modifiées pour le calcul des pauses et des fins (qui doivent tenir compte des temps de pause).

    Pour ce qui est de comparer temps estimés et temps effectifs, il faudra ajouter une colonne pour introduire ces temps effectifs, puis faire un graphique et/ou utiliser des mises en forme conditionnelles.

    Bonne continuation.
    Fichiers attachés Fichiers attachés

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2019
    Messages : 2
    Points : 2
    Points
    2
    Par défaut tableau de suivi
    merci , le macro marche correctement maintenant pour le tableau de suivi j'ai fait un essai de suivi horaire dans les feuilles ligne 1 et ligne 2 :
    L'objectif : c'est le nombre des pièces a produire dans une heure selon l'effective actuel (G2 ) pour l'article demandé (Q) .
    L'article (Q) : il fait l'arrondi de colonne H et selon la résultat il le lisse sur les nombres des lignes par exemple si le temps nécessaire est 1.9 hrs il fait le lissage d'article demandé sur 2 lignes ( c'est a dire sur 2 heurs 8h-->10h)
    Ensuite la truc la plus simple : si la production est inférieur à l'objectif la courbe sera en rouge et si le contraire elle est en vert .

    le fichier est efficace si et seulement si les temps des objectifs seront en multiple des heures mais parfois je trouve sans une situation ou le temps il est sous forme 2.25 et 3.7 dans ce cas le fichier ne sera pas bien préci .

    si tu peux m'aider a faire un suivi chaque une demi heure sa sera plus pérci et efficace

    juste une autre remarque le macro efface le contenu de nouvelle colonne Cumul nbre heures
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    Je n'ai pas vraiment compris le problème du suivi des objectifs. A mon avis, il faudrait plutôt relever les heures auxquelles ont été produites (par exemple la 5e, la 10e, la 15e, la 20e, la 22e pièce) et faire un graphique x,y (x= temps) y(pièces prévues, pièces exécutées). Je regarderai cela dès que possible.

    Pour ne pas supprimer le cumul des heures, colonne O, il faut modifier les .Range("A4:O12").Clear en .Range("A4:N12").Clear.

    Bonne continuation.

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 182
    Points : 5 514
    Points
    5 514
    Par défaut
    Bonjour,

    En attaché une version avec un "suivi" de production, juste pour donner quelques idées.

    Cordialement.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [CSV] Convertir un fichier excel en CVS
    Par Space Cowboy dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2008, 06h16
  2. Réponses: 45
    Dernier message: 14/02/2008, 15h41
  3. vb6 Convertir une fichier Excel en DBF (urgent)
    Par mqsi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/01/2007, 15h30
  4. [MySQL] convertir un fichier excel(*.csv) en un (*.sql)
    Par rhani2010 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/10/2006, 19h39
  5. Réponses: 3
    Dernier message: 23/09/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo