[VBA-E] - Probleme sur un test conditionnel
Bonjour,
j'ai un nouveau probleme sur un des tests conditionnel
J'ai ecris le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub Logik_Compal()
Dim MyCell As Range
Dim AKNQty As Double
Dim CurrentWeek As Integer
CurrentWeek = DatePart("ww", Now(), 2)
AKNQty = 0
For Each MyCell In Range("A1:A60000")
If MyCell.Value = "United Kingdom" _
And MyCell.Offset(0, 1).Value = "COMPAL" _
And MyCell.Offset(0, 2).Value = "WIP" _
And IsDate(MyCell.Offset(0, 3).Value) = True _
And CurrentWeek = DatePart("ww", MyCell.Offset(0, 3), 2) Then
AKNQty = AKNQty + MyCell.Offset(0, 4).Value
End If
Next MyCell
Range("H3").Value = AKNQty
End Sub |
Le code compile mais lorsque je la lance, Excel affiche une erreur de type 13 "mismatch".
J'ai pu mettre en evidence que c'est la ligne
Code:
And CurrentWeek = DatePart("ww", MyCell.Offset(0, 3), 2) Then
qui pose probleme car en l'enlevant la macro marche nikel.
Mais je dois sommer les quantites des commandes de la semaine en cours donc je ne peux me passer de cette condition.
Je me suis servi de DatePart comme vous me l'avez conseille. C'est vraiment curieux car sur le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub Wk_COMPAL()
Dim CurrentWeek As Integer
Dim MyCell As Range
Dim AKNQty As Double
Set MyCell = Range("C4")
CurrentWeek = DatePart("ww", Now(), 2)
Range("C1").Select
If DatePart("ww", MyCell.Offset(0, 1), 2) = CurrentWeek Then
Range("A15").Value = "D4 est en semaine en cours"
Else
Range("A15").Value = "D4 : Pas semaine en cours"
End If
Range("A16").Value = DatePart("ww", MyCell.Offset(0, 1), 2) |
La comparaison se fait tres bien entre la Cell D4 et la semaine en cours, la macro tourne nikel!
Ya vraiment kelkechose qui mechappe.
Merci d'avance a la fine equipe de ce site tres reactif.