C'est déjà un peu différent de l'exemple initial... La variable Ligne est intégrée à une boucle, quel intérêt de la réutiliser hors de la boucle pour lui affecter une valeur aléatoire ? Quel est l'objectif d'utiliser cette variable au sein de la fonction Rnd() ?
D'après ce que je comprends, je verrais plutôt le code comme ceci :
Sub Test()
Dim Colonne As Integer, Ligne As Integer
With Sheets("Note")
For Colonne = 3 To 6
Randomize
Ligne = Int(Rnd() * 72) + 1
If .Cells(2, Colonne) = "X" Then .Cells(10, 2) = Sheets("Commentaire").Cells(Ligne, Colonne)
Next Colonne
End With
End If