Bonjour.
Evaluate pour des expressions mettant en œuvre des fonctions Excel les requiert en anglais, et avec ',' comme séparateur d'arguments. Le signe égal n'est pas utile mais ne gène peut être pas. Pour tout ce qui dérive d'aléat je préfère des expressions purement VBA basées sur Rnd. Une instruction Randomize devant assure des séquences différentes à chaque exécution. On ne peut, dans les expressions à évaluer, mentionner de propriétés ni méthodes. Tout au plus peut on en déduire une valeur y étant concaténée. Au lieu de B = Evaluate("=if((T_2Nov[position]).Rows(1)=0,1,2") j'aurais peut être mis B = IIf([T_2Nov[Position]].Rows(1).Value = 0, 1, 2)
En résumé: vous essayez plus souvent que judicieux d'utiliser Evaluate pour retrouver la même chose qu'une formule Excel.
Evaluate("=[@evènement]&CAR(10)&TEXTE([@[date debut]];"jjmm")") Non ! Éventuellement :
[T_2Nov[evènement]].Row(1).Value & vbLf & Format([T_2Nov[date debut]].Row(1).Value, "ddmm")