fusion de plage horaire

maguetlolo

XLDnaute Junior
Bonjour

Voici mon soucis:

j'ai une liste d'arret d'une machine, je voudrais faire une macro qui me fusionne les arrêts qui se chevauche sur une même plage horaire afin de connaitre le temps d'arrêt réel.
par exemple si la machine est arettée pour un défaut du 02/06/08 13:00:00 au 02/06/08 14:00:00 donc 1heure d'arret et pour un autre du 02/06/08 13:05:00 au 02/06/08 14:15:00 donc 01:10:00 d'arrêt

et bien que ca me mette l'arrêt du 02/06/08 13:00:00 au 02/06/08 14:15:00 donc 01:15:00 d'arrêt

tout est expliqué sur le fichier joint


merci a vous
 

Pièces jointes

  • Poste01.zip
    7.5 KB · Affichages: 25

maguetlolo

XLDnaute Junior
Re : fusion de plage horaire

Re:


Voila, j'ai essayé d'adapter cette macro, mais ca me met une erreur 400, quelqu'un peut-il m'aider?


Sub FusionLignes()
Dim i As Integer, j As Integer, Lig As Integer, Tablo
With Sheets("Feuil2")
Lig = .Range("A65536").End(xlUp).Row
Tablo = .Range("A2:D" & Lig)
For i = 1 To Lig - 2
'If Tablo(i, 1) <> """" And Tablo(i, 4) <> """" Then


For j = i + 1 To Lig - 1
If Tablo(j, 1) <> "" Then
If Tablo(i, 4) = Tablo(j, 4) And _
Tablo(i, 1) >= Tablo(j, 1) And Tablo(i, 1) <= Tablo(j, 2) Then
Tablo(i, 2) = Tablo(j, 2) And Tablo(i, 3) = Tablo(i, 2) - Tablo(i, 1)
Tablo(i, 3) = Tablo(i, 2) - Tablo(i, 1)
Tablo(j, 1) = "": Tablo(j, 2) = "": Tablo(j, 3) = "": Tablo(j, 4) = ""
End If
End If

Next j
Next i
.Range("A2:D" & Lig) = Tablo
.Range("A2:D" & Lig).Sort Key1:=Range("A2"), Order1:=xlAscending
End With
End Sub


a+
 

Discussions similaires

Réponses
46
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed