Bonjour à tous,
Je viens vers le forum ar je bute sur un petit problème....
Je travaille sous Excell 2013.
J'ai crée dans une feuille excell un formulaire. (J'ai oloriser toutes les cellule en bleu, sauf les cellules qui composent les champs à remplir).
chaques champs à remplir est composés de plusieurs cellules . J'ai nommé les champs pour avoir plus facile à les traiter dans les procédure VBA.
Pour parcourir toutes les plage nommée, j'utilise le code suivant :
Le but ici est de nettoyer les champ. DOnc d'avoir des champ vide après l'execution du code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For Each oName In ActiveWorkbook.Names If oName.Name <> "Modele!Print_Area" Then wsNew.Range(oName) = "" End If Next oName
Dans la meme idée, je voulais bloquer ou debloquer l'accès aux champ suivant que l'on etait en edition ou en relecture.
J'ai donc ecrit le code suivant :
La propriété de l'objet oName existe dans l'espion VBa, et je peut meme relire sa valeur (False ou True).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 For Each oName In ActiveWorkbook.Names If oName.Name <> "Modele!Print_Area" Then Range(oName) = "" Range(oName).Locked = True End If Next oName
Cependant l'execution de ce code me donne une erreur:
Je peux mettre la propriété 'Locked ' à true ou à False pour des cellules, meme si celles si sont assemblées.' Run-time error '1004'
Unable to set the Locked property of the Range class'
J'en vies à ma question :
Y a-t-il moyen de modifier la propriété 'locked' d'une plage en la référencant par son nom ?
Merci de m'avoir lu jusqu'ici
Une bonne jornée/soirée à tous
Michel
Partager