bonsoir a tous ,
jai un macro telque la code et comme suit
mon proble que mon macro c débogue.( voir image joint)
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 Sub überprufungtckt() Dim O As Object 'déclare la variable O (Onglets) Dim DL As Integer 'déclare la variable DL (Dernière Ligne) Dim PL As Range 'déclare la variable PL (PLage) Dim I As Integer 'déclare la variable I (Incrément) Dim t1 As Variant 'décale la variable t2 (Temps 1) Dim t2 As Variant 'décale la variable t2 (Temps 2) For Each O In Sheets 'boucle 1 : sur tous les onglets O du classeur If UCase(Left(O.Name, 4)) = "LINE" Then 'condition : si le nom de l'onglet commence en majuscule par "LINE" DL = O.Cells(Application.Rows.Count, 4).End(xlUp).Row 'définie la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet O Set PL = O.Range("D6:D" & DL) 'définit la plage PL PL.Interior.ColorIndex = 36 'supprime les éventuelles couleurs rouge dans la plage PL For I = 6 To DL - 1 'boucle 2 : des lignes 1 à (DL - 1) 'condition : si la valeur absolue de la différence entre la cellule ligne (I + 1) et 'celle en ligne I de la colonne 1 est supérieure à 1 t1 = TimeSerial(Hour(O.Cells(I, 4).Value), Minute(O.Cells(I, 4).Value), Second(O.Cells(I, 4).Value)) 'définit la variable t1 t2 = TimeSerial(Hour(O.Cells(I + 1, 4).Value), Minute(O.Cells(I + 1, 4).Value), Second(O.Cells(I + 1, 4).Value)) 'définit la variable t2 If Abs(CDate(t2 - t1) & DL) * 86400 > 60 Then 'si la valeur absolue de la différence est supérieure à 60 seconde MsgBox "Veuillez vérifier le Temps de cycle de " & O.Name & " !" 'message End If 'fin de la condition Next I 'prochaine ligne de la boucle 2 End If 'fin de la condition Next O 'prochain onglet de la boucle 1 End Sub
merci pour l'aide
Partager