Comme je l'ai mentionné dans les commentaires, la seule façon de le faire serait avec VBA.
Voici une option. J'ai ajouté des commentaires tout au long du code. Cela suppose que vous utilisez une plage nommée pour la liste de validation nommée "Liste" et qu'elle se trouve sur la même feuille que les cellules à valider.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim isect As Range
Dim vOldValue As Variant, vNewValue As Variant
Set isect = Application.Intersect(Target, ThisWorkbook.Names("List").RefersToRange)
If Not isect Is Nothing Then
' Get previous value of this cell
Application.EnableEvents = False
With Target
vNewValue = .Value
Application.Undo
vOldValue = .Value
.Value = vNewValue
End With
' For every cell with validation
For Each cell In Me.UsedRange.SpecialCells(xlCellTypeAllValidation)
With cell
' If it has list validation AND the validation formula matches AND the value is the old value
If .Validation.Type = 3 And .Validation.Formula1 = "=List" And .Value = vOldValue Then
' Change the cell value
cell.Value = vNewValue
End If
End With
Next cell
Application.EnableEvents = True
End If
End Sub
Vous pouvez également télécharger le exemple de feuille de calcul que j'ai mis en place pour tester ça. (Contient des macros !)