Après si c'est trop compliqué à mettre en place et en maintenance vu que tu ne maitrise pas forcément les macros ce qui sera plus un souci qu'autre chose au final je trouve.
Cela dépend aussi de la répétition de l'action, c'est une fois par jour? toute les 10 minutes? une fois par semaine? il y a beaucoup d'agent?
Sinon une solution hybride est d'un coté une simple formule pour chaque agent dans le tableau qui check si on est dans la bonne amplitude et de l'autre coté une macro qui fait le tirage au sort:
Sub TirageAuSort()
Dim MaxPersonne As Integer
MaxPersonne = X 'maximum de personne dans le tirage au sort
Randomize 'sert à envoyer une graine différente pour la fonction RND
MsgBox (Int((MaxPersonne - 1 + 1) * Rnd + 1)) 'on renvoie un entier entre 1 et le max de personne, tiré au hasard donc
End Sub
Cas pratique: je viens pour avoir un nom pour la prochaine astreinte, je fais un tri sur la colonne ou y a la formule et je garde que les personne entre 7.5 et 8, je trouve 11 personne potentiellement.
Je vais dans mon code, je remplace X par 11, je lance la macro, j'ai ma boite de dialogue qui me renvoie le résultat: 5.
Je reprends mon fichier et l'heureux gagnant est le 5ième de la liste.
Rien de bien compliquer à mettre en place et utiliser, à voir si cela convient à l'utilisation comme je disais
ECG