Bonjour à toutes et tous,

Je rencontre un probleme avec le code ci dessous .

Lorsque je sauvegarde mon ficiher en xlsm et que je l'ouvre après, excel m'indique une erreur dans mon fichier et procede à sa réparation.

Si je sauvegarde en xls pas de pb.

Quelqu'un aurait-il une idée ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
      'liste chantier
If Not Intersect([a4:a1000], Target) Is Nothing And Target.Count = 1 Then
    Set f = Sheets("chantier")
    Set d = CreateObject("Scripting.Dictionary")
    For Each c In f.Range("a2:a" & f.[a65000].End(xlUp).Row): d(c.Value) = "": Next c
    Target.Validation.Delete
    Target.Validation.Add xlValidateList, Formula1:=Join(d.keys, ",")
End If
End Sub