Erreur à l'ouverture des fichiers .xlsm - contrôle des cellules

Bonjour,

Je suis débutant en vba & Excel.

Lorsque j'ouvre mon fichier excel, une erreur apparait et tous mes contrôle de cellule sont supprimer.

Voici la méthode de création de la validation :
With LineImport.Cells(1, ColValidationCS - 2)
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=ThisWorkbook.ListCSValidation
End With

Dans ThisWorkbook, j'ai :

Option Explicit
Public ListCSValidation As String

Private Sub Workbook_Open()
ListCSValidation = Join(Application.Transpose(ActiveWorkbook.Worksheets("Synthèse").ListObjects("Validation").ListColumns(1).Range().Value), ",")
End Sub
Je pense que lorsque le fichier s'ouvre, "ListCSValidation" n'existe pas et donc une erreur est levé.
Avez-vous une solution pour moi ?
Merci d'avance.

Bonsoir AQkinkin,

9compte-copro.xlsm (96.54 Ko)

Bonjour à tous.

Je vous prie d’excuser mon code brouillon. (il n’était pas censé être partagé)

J'ai trouvé un palliatif.

Target.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=Synthèse!$B$2:$B$13"

L'idée d'origine était d'utilisé un tableau de référence, mais j'ai pas compris comment ça fonctionne.

Target.Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=ListObjects("Validation")"
Rechercher des sujets similaires à "erreur ouverture fichiers xlsm controle"