Bonjour, je vais tenter d'être concis.
J'ai créé une macro qui fonctionne très bien lorsque j'utilise le mode débogage. Néanmoins, impossible d'avoir le bon résultat lors d'une exécution normale.
J'ai d'abord pensé à un problème de "timing" que j'ai essayé de résoudre en imposant des attentes, ce ne fut pas fructueux... Je suis à court d'idée. Merci d'avance !
Je ne peux malheureusement pas vous joindre mon fichier.
Private Sub CommandButton1_Click()
Dim nAc As Integer
nAc = Range("PlgMaintenance").Rows.Count
Dim a, b, c, d, check, e
With Sheets("Maintenance logbook")
For i = 2 To nAc
If Range("A" & i).Value = AcRegistration Then
b = Range("B" & i).Value
d = Range("C" & i).Value
e = DateDiff("m", Range("C" & i), Date)
Else
End If
Next i
If b = 50 Then
check = 100
Else
check = 400
End If
.Range("A" & nAc + 1) = AcRegistration
.Range("B" & nAc + 1) = check
.Range("C" & nAc + 1) = Date
.Range("D" & nAc + 1) = Engineer
.Range("E" & nAc + 1) = "Started"
.Range("A1:E" & nAc + 1).Name = "PlgMaintenance"
End With
Unload MaintenanceTask
MaintenanceTask.Hide
MsgBox ("This aircraft is on check " & check)
LifeLimit.Show
End Sub
Partager