Bonsoir à tous,
Voici mon grain de sel...
Je suis d'accord Akim pour la parité... mais on aurait pu aussi reprendre le snippets suivant :
Function Parite(nb As Long) As String
Parite = IIf((nb And 1), "Impair", "Pair")
End Function
Sub test()
Debug.Print Parite(47)
End Sub
Oui, bon... rien d'extraordinaire non plus... et presque pareil...
Par contre pour la 2ième partie, je vous propose d'essayer d'optimiser la rapidité... je trouve ceci (sous VBE) légérement plus rapide (-30%)
Sub es()
Dim Tab1(10000000) As String
Dim a As Long
Dim Fin As Long
Fin = UBound(Tab1)
temps = Timer
'Tab1(9999999) = "ede"
For a = 1 To Fin
If Len(Tab1(a)) Then MsgBox "stop" & Timer - temps: Exit Sub
Next
MsgBox Timer - temps
End Sub
Mais bon, c'est pour le fun, bien sur...
et pas essayé en compilé... 
Amicalement,
Us.