J'essaye de protéger une feuille mais malheureusement une erreur 1004 apparait dans le code dès que je la protège puis utilise la macro associée. Je prends pourtant bien soin de supprimer la protection en début de macro :
Sub
Sheets("Home").Unprotect
....
Sheets("Home").Protect
End Sub
le code ci-dessous fonctionne chez moi sur la feuille active :
Code:
With Range("C12").Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=maliste"
End With
il faut, bien évidemment, que "maliste" soit une plage nommée dans le classeur où tu veux insérer ta validation. Attention aussi aux cellules fusionnées, sans plus de détails difficile de t'en dire plus...
Merci Pierrot93, ce code marche également pou moi. Le problème c'est que quand je tente de protéger la feuille pour éviter aux utilisateurs de la modifier, une erreur 1004 apparaît et surligne en jaune cette partie du code :
With ActiveSheet
.Unprotect
With .Range("M1").Validation
.Delete
.Add Type:=xlValidateList, Formula1:="=maliste"
End With
.Protect
End With
A noter que pour éviter de protéger / déprotéger la feuille, il faudrait que la protection soit faite par vba en utilsant l'argument "userinterfaceonly".
tu as placé la totalité du code dans le module "thisworkbook" ??? Et quel est le code complet exécuté... trop peu d'élément pour te répondre, mets un tout petit fichier en pièce jointe représentant le problème.