Suite au fil que je cite un peu plus loin, j'ai pensé qu'il était nécessaire de faire ce petit topo sur le sujet pour les novices qui comme moi, découvrent le basic et galèrent parfois plusieurs heures de recherches et de lecture pour trouver le détail qui bloque le rouage.
Par le menu Données>Validité>Autoriser nous savons qu'il est possible de déclencher une macro si une valeur non autorisée est saisie dans une cellule, mais récupérer cette valeur non autorisée n'est pas aussi simple que nous pourrions le penser au premier abord. En effet, si nous essayons de lire le contenu de la cellule, c'est la valeur saisie avant la valeur non autorisée qui est retournée et non la valeur non autorisée car la saisie n'est pas encore validée. Elle ne le sera qu'après l'exécution de la macro.
Alors pour ce faire, il faut faire une petite pirouette astucieuse dont je ne suis que le rapporteur. Les remerciements vont sans doute à messieurs bm92 et alhazred au travers de ce fil qui mène à un autre.
L'astuce consiste à déclarer la variable "cellValue" directement dans la déclaration sub comme ceci :
Code : Tout sélectionner
sub Validite_Valeur_refusee(cellValue As String)
Valeur_refusee = cellValue
MsgBox("Valeur refusée par la validité : " & Valeur_refusee)
End Sub