Avec :
For Each MyCell In Columns(Wk2)
VBA ne parcourt qu'une seule fois la boucle, car il n'y a q'une seule colonne. Ainsi MyCell est alors ici une colonne et :
MsgBox MyCell.Offset(0, 5 - Wk2) = "United Kingdom"
renvoie une erreur car tu compares une colonne à une chaîne de caractères.
Il faut :
For Each MyCell In Columns(Wk2).Cells
De même, il est mieux d'écrire :
For Each MyCell In Range("3:3").Cells
Rem. Si (If MyCell.Value Like "*Wk*" & CurrentWeek + 2 Then) est toujours faux, alors Wk2 sera surement égal à 0 (sauf s'il a été initialisé avant) et tu auras quand même une erreur
Partager