Verrouillage de cellules [RESOLU] - VB/VBA/VBS - Programmation
Marsh Posté le 22-08-2008 à 20:23:05
bonjour,
Protect, méthode
Méthode Protect telle qu'elle s'applique à l'objet Worksheet.
Cette méthode protège une feuille de calcul de sorte qu'elle ne puisse être modifiée.
expression.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)
expression Obligatoire. Expression qui renvoie un objet Worksheet.
Password Argument de type Variant facultatif. Chaîne correspondant à un mot de passe qui respecte la casse pour la feuille de calcul ou le classeur. Si vous ne spécifiez pas cet argument, vous pouvez annuler la protection de la feuille de calcul ou du classeur sans utiliser de mot de passe. Dans le cas contraire, vous devez spécifier le mot de passe pour annuler la protection de la feuille de calcul ou du classeur. Si vous oubliez le mot de passe, vous ne pouvez pas annuler la protection de la feuille de calcul ni du classeur. Pensez à conserver en lieu sûr une liste de vos mots de passe et les noms des documents correspondants.
DrawingObjects Argument de type Variant facultatif. Cet argument a la valeur True pour protéger les formes. La valeur par défaut est False.
Contents Argument de type Variant facultatif. Cet argument a la valeur True pour protéger le contenu. Dans le cas d'un graphique, la totalité du graphique est protégée. Dans le cas d'une feuille de calcul, les cellules verrouillées sont protégées. Valeur par défaut : True.
Scenarios Argument de type Variant facultatif. Cet argument a la valeur True pour protéger les scénarios. Il n'est valable que pour les feuilles de calcul. Valeur par défaut : True.
UserInterfaceOnly Argument de type Variant facultatif. Cet argument a la valeur True pour protéger l'interface utilisateur, mais pas les macros. Si cet argument n'est pas spécifié, la protection s'applique à la fois aux macros et à l'interface utilisateur.
AllowFormattingCells Argument de type Variant facultatif. La valeur True permet à l'utilisateur de mettre en forme n'importe quelle cellule dans une feuille de calcul protégée. La valeur par défaut est False.
AllowFormattingColumns Argument de type Variant facultatif. La valeur True permet à l'utilisateur de mettre en forme n'importe quelle colonne dans une feuille de calcul protégée. La valeur par défaut est False.
AllowFormattingRows Argument de type Variant facultatif. La valeur True permet à l'utilisateur de mettre en forme n'importe quelle ligne dans une feuille de calcul protégée. La valeur par défaut est False.
AllowInsertingColumns Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'insérer des colonnes dans une feuille de calcul protégée. La valeur par défaut est False.
AllowInsertingRows Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'insérer des lignes dans une feuille de calcul protégée. La valeur par défaut est False.
AllowInsertingHyperlinks Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'insérer des liens hypertexte dans une feuille de calcul. La valeur par défaut est False.
AllowDeletingColumns Argument de type Variant facultatif. La valeur True permet à l'utilisateur de supprimer des colonnes dans une feuille de calcul protégée, dans lesquelles les cellules à supprimer sont déverrouillées. La valeur par défaut est False.
AllowDeletingRows Argument de type Variant facultatif. La valeur True permet à l'utilisateur de supprimer des lignes dans une feuille de calcul protégée, dans lesquelles les cellules à supprimer sont déverrouillées. La valeur par défaut est False.
AllowSorting Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'effectuer un tri dans une feuille de calcul protégée. Toutes les cellules de la plage à trier doivent être déverrouillées ou non protégées. La valeur par défaut est False.
AllowFiltering Argument de type Variant facultatif. La valeur True permet à l'utilisateur de définir des filtres dans la feuille de calcul protégée. Les utilisateurs peuvent changer des critères de filtre mais ne peuvent ni activer, ni désactiver un filtre automatique. Les utilisateurs peuvent définir des filtres dans un filtre automatique existant. La valeur par défaut est False.
AllowUsingPivotTables Argument de type Variant facultatif. La valeur True permet à l'utilisateur d'utiliser des rapports de tableaux croisés dynamiques dans la feuille de calcul protégée. La valeur par défaut est False.
Notes
Si vous appliquez la méthode Protect et que l'argument UserInterfaceOnly a la valeur True dans une feuille de calcul et que vous enregistrez le classeur, l'intégralité de la feuille de calcul (et pas uniquement l'interface) sera protégée lors de la réouverture du classeur. Pour réactiver la protection de l'interface utilisateur après l'ouverture du classeur, vous devez de nouveau appliquer la méthode Protect avec la valeur True affectée à l'argument UserInterfaceOnly.
Si vous souhaitez effectuer des modifications dans une feuille de calcul protégée, il est possible d'utiliser la méthode Protect dans une feuille de calcul protégée si le mot de passe est fourni. Vous pouvez également annuler la protection de la feuille de calcul, effectuer les modifications nécessaires, puis protéger de nouveau la feuille de calcul.
Remarque 'Non protégée' signifie que la cellule peut être verrouillée (boîte de dialogue Format de cellule) mais qu'elle fait partie d'une plage définie dans la boîte de dialogue Permettre aux utilisateurs de modifier les plages et que l'utilisateur a annulé la protection de la plage avec un mot de passe ou a été validé via des permissions NT.
A+
Marsh Posté le 22-08-2008 à 22:00:04
Merci
ca fonctionne bien pour toute la feuille mais le truc c'est que je souhaiteraiproteger juste par exemple range("A5:D30" ) et si je fais cette expression ca ne fonctionne pas
sheet("Enterdata" ).range("A5:D30" ).protect contents:=true, UserInterfaceOnly:=true
MA formule est fausse Que dois-je faire?
Marsh Posté le 23-08-2008 à 06:57:04
bonjour,
Méthode Protect telle qu'elle s'applique à l'objet Worksheet
pour rendre ou non des cellules modifiables, utiliser le verrouillage de cellules (boîte de dialogue Format de cellule)
A+
Marsh Posté le 23-08-2008 à 11:25:42
Merci Galopin01
le truc c'est qu'il fallait que j'enlève la protection des cellules que je ne voulais pas protéger et après appliquer ce que tu m'as dit dans le dernier message. Ca fonctionne très bien.
a+
EDIT:
Code :
|
Code :
|
Marsh Posté le 22-08-2008 à 12:21:21
Salut,
J'ai une feuille excel ou certaines donnees ne doivent pas etre modifiees.
Comment dois-je faire pour maintenir verrouiller ces cellules sans que ca nuise au fonctionnement des macro utilisant cette feuille.
Merci.
Message édité par fufu33 le 28-08-2008 à 14:06:28