Calcule d'un nombre d'arrêt avec une macro

arnaud1109

XLDnaute Nouveau
Bonjour à tous ,

Je suis nouveau sur le forum et je suis débutant en VBA.
Voici mon énoncée.

J'aimerai grâce à une macro pouvoir calculer le nombre d'arrêt total d'une machine.
Je prendrai comme exemple pour mieux expliquer la première machine COECX29 de mon fichier.

Mes données seront toujours exporter sur un moi.
Il faut donc de la date 01/04/2016 05:00 jusqu’au 01/05/2016 que je puisse calculer le nombre d'arrêt total pour la machine COECX29

Ce calcule devra pouvoir s'adapter à toute les autres machines.

Si je n'ai pas été claire n'hésiter pas à me poser des questions si vous voulez bien m'aider

cordialement
arnaud
 

Pièces jointes

  • Classeur Principale.xls
    287 KB · Affichages: 69

Efgé

XLDnaute Barbatruc
Re : Calcule d'un nombre d'arrêt avec une macro

Bonjour arnaud1109 et bienvenu sur le forum
Avec un TCD pas besoin de macro
En passant: Ton format de nombre personnalisé n'est pas bon ;-)
Cordialement
 

Pièces jointes

  • Arrets_Machines.xls
    174.5 KB · Affichages: 76

Paf

XLDnaute Barbatruc
Re : Calcule d'un nombre d'arrêt avec une macro

Bonjour arnaud1109, Efgé,

un essai macro:

les dates limites sont en dur dans le code, le résultat affiché en colonne H. A adapter

Code:
Sub Macro()
 Dim Tablo, i As Long, WS As Worksheet, Dico, DateDeb As Date, DateFin As Date
 Set Dico = CreateObject("Scripting.Dictionary")
 Set WS = Worksheets("Arrêt production")
 Tablo = WS.Range("A2:D" & WS.Range("A" & Rows.Count).End(xlUp).Row)
 DateDeb = CDate("01/04/2016")
 DateFin = CDate("01/05/2016")
 For i = LBound(Tablo) To UBound(Tablo)
    If Tablo(i, 2) >= DateDeb And Tablo(i, 3) <= DateFin Then
        Dico(Tablo(i, 1)) = Dico(Tablo(i, 1)) + Tablo(i, 4)
    End If
 Next

 If Dico.Count > 0 Then
    WS.Range("H2").Resize(Dico.Count, 2) = Application.Transpose(Array(Dico.keys, Dico.Items))
 End If
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 093
Membres
104 029
dernier inscrit
Neozz14