Thanks to all for your answers.
I've written a little script for which I would like your advice. It checks all variables and proposes to delete the ones that seems erroneous :
Sub CheckVariables()
Dim BadVariables As String
Dim Value As String
Dim Var As DocumentVariable
Dim VarEval As Variant
On Error GoTo ErrHandler
BadVariables = ""
For Each Var In ActiveDocument.DocumentVariables
If Var.Name <> "" Then
VarEval = ActiveDocument.Evaluate("=<" & Var.Name & ">", BoAllValues)
If IsEmpty(VarEval) Then
BadVariables = BadVariables & Var.Name & " : undefined" & Chr(13) & Chr(10)
If (MsgBox("Delete " & Var.Name & " ?", vbOKCancel, "Undefined variables"

= vbOK) Then
Var.Delete
End If
End If
End If
Next Var
If (BadVariables <> ""

Then MsgBox BadVariables
Exit Sub
ErrHandler:
BadVariables = BadVariables & Var.Name & " : " & Err.Description & Chr(13) & Chr(10)
Resume Next
End Sub
I've tested it on a few cases, it seems to work fine.
Stéphane