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 :

calcul de coûts


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Par défaut calcul de coûts
    Bonjour,
    tout d'abord, merci de votre effort, temps et énergie consacrés rien que pour AIDER.
    j'ai besoin d'un coup de main pour alléger des calculs de coûts et je vous remercie par avance
    en fait, j’ai un fichier Excel de calcul de coûts
    Ce fichier comporte 6 feuilles :
    Une feuille « TOTAL » qui calcule par formules les données issues des 4 feuilles suivantes « coûts de détection », « coût de prévention », « coût des défaillances externes » » et « coûts des défaillances internes ».
    Une feuilles source de données « coûts horaire ouvriers,machines »

    Alors je veux « automatiser » le calcul dans les 4 feuilles mentionnées ci-dessus
    Au début je vais détailler le calcul dans la feuille « coût de détection » :
    Ce coût est calculé pour chaque mois par la formule suivante :
    C’est le coût du nombre d’heures lié au triage = nombre d’heures des tris durant le mois *coût horaire de l’ouvrier faisant le tri
    Le coût horaire des ouvriers est dans la feuille source de données « coûts horaire ouvriers,machines »
    le nombre d’heures des tris durant le mois ainsi que l’ouvrier faisant le tri (pour connaitre quel coût horaire choisir) se trouvent dans un autre fichier nommé « Rapport journalier » qui comporte une feuille chaque jour ou on enregistre dans la plage R41 :R47 le nombre d’heures du tri à ce jour là et dans la plage T42:T47 l’ouvrier faisant le tri
    Le coût est alors :
    =somme (R41 :R47) du « rapport journalier »* coût horaire de l’ouvrier faisant le tri (recherche dans la feuille des coûts des ouvriers et machines)
    ces deux informations servent à calculer le coût de détection en faisant la somme des plage R41:R47 de chaque mois puis en multipliant le résultat par le coût horaire de l'ouvrier qui a fait le tri ( on admettant que c'est le même opérateur durant le mois)
    par exemple pour les 3 jours de mars qui existent dans le "Rapport journalier"
    ça fait 8 heures de tri fait par hedia
    alors ça fait 8*7=56
    ce calcul sera complet à la fin du mois
    je vous remercie par avance et je suis disponible pour toute autre explication
    Ci-joint les deux fichiers
    fichier calcul des coûts
    https://mon-partage.fr/f/mba2fk70/
    fichier "Rapport journalier"
    https://mon-partage.fr/f/yuCxMnvx/
    bien cordialement

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut
    Bonjour tucherchestutrouves,

    Beaucoup de membres du forum n'ouvrent pas le fichiers joints (risque de virus, difficulté à comprendre les fichiers ...). Pour faciliter les réponses, peux-tu nous faire des copies d'écran des endroits où tu as un problème et des endroits qui permettent de comprendre ta question. Tu peux intégrer les images grâce au bouton "insérer" une image (avec l'arbre).
    Montre-nous ce que tu as déjà fait et là où tu bloque.

    Je ne comprends pas bien ce que tu veux automatisé. Tu nous donnes déjà quelques formules, qu'est-ce qui te manque ? Est-ce que tu veux faire quelque chose par VBA ?

    Merci pour toutes ces clarifications.
    A bientôt

    EDIT : pour les fichiers joints : https://www.developpez.net/forums/d8...s-discussions/

  3. #3
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Par défaut
    Bonjour Riaolle,
    merci de votre retour et de vos informations très utiles que j'ignorais!
    j'ai choisi de joindre les fichiers car les formules que je souhaite automatiser existent dans plusieurs feuilles, les sources de données indispensables pour le déroulement de ces calculs existent dans un autre fichier comportant une feuille par jour
    alors je ne vois pas comment expliquer tout sans joindre de fichiers, mais j’essayerais d'expliquer le premier calcul:
    dans la feuille "Coûts de détection"
    la formules dans les cellules C7, E7, G7, I7, K7, M7, O7, Q7, S7, U7, W7 et Y7 calcule ce coût mensuellement de janvier en C7 jusqu'à décembre en Y7
    =somme (R41 :R47) du « rapport journalier » du mois considéré* coût horaire de l’ouvrier faisant le tri (recherche dans la feuille des coûts des ouvriers et machines dans le même fichier des calculs de coûts)
    le fichier "sources de données" nommé "Rapport journalier" comporte une feuille par jour alors pour chaque mois il faut faire la somme des cellules R41 :R47 puis multiplié le résultat (nombre d'heures de tri) par le coût de l'ouvrier faisant le tri (l'ouvrier considéré existe dans la plage T42:T47 du "Rapport journalier", le coût est dans une feuille nommée "coûts horaire ouvriers,machines" dans le même fichier de calcul de coûts )
    j'espère être claire dans mon explication, toujours disponible pour toutes autres clarifications
    ci joint des captures d'écran des deux fichiers
    merci encore de votre aide si préciseuse
    bien cordialement
    Nom : calcul.JPG
Affichages : 1769
Taille : 76,8 Ko
    Nom : Rapport journalier.JPG
Affichages : 1484
Taille : 88,8 Ko

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut
    Bonjour,

    J'ai pas tout bien compris, mais je vais essayer de te donner des pistes tout de même.
    Voici ce que j'ai compris et, donc ce sur quoi je pars :
    • Tu as un classeur avec 1 feuille / jour => Classeur Rapport journalier
      1ère question : est-ce que c'est un classeur / mois ou est-ce que c'est un classeur pour l'année ?
      • Dans cette feuille sur les lignes 41 à 47 tu as les opérations de tri, avec en colonne R le temps de tri par opération.
        Au passage : je vois qu'il y a un temps écrit "8h", est-ce que c'est une mise en forme qui permet de transformer "8" en "8h" ou est-ce que tu as vraiment écrit "8h" ? Parce que si tu as écrit "8h", Excel ne pourra pas faire de somme, vu que ce n'est pas un chiffre.
      • Le but, plus tard, est de faire la somme du temps d'opération x le coût horaire du salarié pour le mois.
        2ème question : est-ce que le coût horaire est le même pour chaque personne ou est-ce que ça diffère ?
    • Tu as un classeur avec un onglet Coût de détection, dans lequel il y a 1 colonne / mois dans laquelle tu veux écrire la somme des coûts du mois. Soit la fameuse somme du temps d'opération x coût horaire.


    Selon la réponse à la 1ère question, il y a plusieurs façon de procéder.
    En première approche, j'ai supposé qu'il y a 1 classeur / mois.

    Nom : Forum2.png
Affichages : 1728
Taille : 289,5 Ko

    Ensuit le classeur récapitulatif :

    Nom : Forum3.png
Affichages : 1272
Taille : 7,9 Ko

    La fonction cout_mois est la suivante. A adapter en fonction du nom des classeurs, de si tes classeurs sont ouverts ou non ...

    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
    Function cout_mois(nomFichier As String)
        Application.ScreenUpdating = False
     
        Dim fichier As Workbook
        Dim feuille As Worksheet
        Dim somme As Long
     
        somme = 0
        'Set fichier = Workbooks.Open("C:\Documents\Perso\" & nomFichier & ".xlsx")  'il y a peut-être moyen de le faire sans ouvrir le fichier
        Set fichier = Workbooks(nomFichier & ".xlsx")   'ça c'est si ton fichier est déjà ouvert quand tu lances la fonction
     
        'Boucle pour aller chercher les sommes de chaque jour et faire le total
        For Each feuille In fichier.Sheets
            If feuille.Name <> "Coût horaire" Then somme = somme + feuille.Range("E12").Value   'la somme de chaque jour est en E12 dans mon exemple
        Next feuille
     
        'fichier.Close      'si tu as du ouvrir ton fichier ci-dessus
     
        cout_mois = somme
     
     
        Application.ScreenUpdating = True
    End Function
    Si tu n'as pas 1 classeur / mois, mais 1 classeur pour toute l'année : je partirai sur la même approche en rajoutant un case / feuille avec la date pour la feuille. Et dans la boucle je rajouterai une condition sur le mois de cette date. Dis-moi si tu peux te débrouiller comme ça.

  5. #5
    Membre averti
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Novembre 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 29
    Par défaut
    Bonsoir,
    Desolee c etait une interruption imprevue
    Merci de votre retour
    Pour repondre a vos questions :
    1/ j ai un classeur "Rapport journalier" par an
    Votre solution changera alors? Excusez mes faibles connaissances en VBA
    Pour la saisie de 8h je changerais le format pour avoir un chiffre que Excel peut manipuler
    Une tres bonne remarque merci
    2/ le cout horaire des ouvriers faisant le tri est le meme mais ca peut augmenter au fil des annees alors j ai ajoute la feuille des couts horaires des ouvriers dans le classeur de calcul des couts
    Merci de votre aide ces calculs quotidiens sont penibles en manuel merci beaucoup
    Bien cordialement

  6. #6
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 706
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 706
    Par défaut
    Bonjour,
    Comme je disais plus haut, je mettrais une indication pour connaître le mois. Une proposition ci-dessous, en changeant le code pour prendre en compte le mois :
    Nom : forume3.PNG
Affichages : 1391
Taille : 106,9 Ko
    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
    Function cout_mois(nomFichier As String, numMois As Range)
        Application.ScreenUpdating = False
     
        Dim fichier As Workbook
        Dim feuille As Worksheet
        Dim somme As Long
     
        somme = 0
        'Set fichier = Workbooks.Open("le chemin vers le fichier")  'il y a peut-être moyen de le faire sans ouvrir le fichier
        Set fichier = Workbooks(nomFichier & ".xlsx")   'ça c'est si ton fichier est déjà ouvert quand tu lances la fonction
     
        'Boucle pour aller chercher les sommes de chaque jour et faire le total
        For Each feuille In fichier.Sheets
            If numMois.Value = feuille.Range("E14") Then    'on prend que les feuilles avec le mois en question (dans les feuilles, je mets le n° du mois en E14)
                If feuille.Name <> "Coût horaire" Then somme = somme + feuille.Range("E12").Value   'la somme de chaque jour est en E12 dans mon exemple
            End If
        Next feuille
     
        'fichier.Close      'si tu as du ouvrir ton fichier ci-dessus
     
        cout_mois = somme
     
     
        Application.ScreenUpdating = True
    End Function
    A toi, maintenant, de tester tout ça de ton côté et de l'adapter pour que ça fonctionne sur ton cas.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/03/2010, 10h21
  2. Comment l'optimiseur d'Oracle calcule le coût
    Par Vincent Rogier dans le forum Contribuez
    Réponses: 8
    Dernier message: 31/07/2009, 11h34
  3. Comment l'optimiseur d'Oracle calcule le coût
    Par big1 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 12/06/2009, 14h07
  4. [Conception] Simulation de calcul de coût
    Par yezid dans le forum Modélisation
    Réponses: 2
    Dernier message: 29/03/2007, 15h54

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