Verrouillage de cellules [RESOLU]

Verrouillage de cellules [RESOLU] - VB/VBA/VBS - Programmation

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
Reply

Marsh Posté le 22-08-2008 à 12:21:21   

Reply

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+

Reply

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?

Reply

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+

Reply

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 :
  1. Sub Verouillage()
  2.     Sheets("EnterData" ).Select
  3.     ActiveSheet.Unprotect
  4.     Range("B6:F6,B3:F3,E3:F4,B7:D32" ).Select
  5.     Range("B7" ).Activate
  6.     Selection.Locked = True
  7.     Selection.FormulaHidden = False
  8.     ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  9.     Range("A1" ).Select
  10.    
  11. End Sub


 

Code :
  1. Sub Deverouillage()
  2.     Sheets("EnterData" ).Visible = True
  3.     Sheets("EnterData" ).Select
  4.     ActiveSheet.Unprotect
  5.     Cells.Select
  6.     Selection.Locked = False
  7.     Selection.FormulaHidden = False
  8.     'Sheets("EnterData" ).Visible = False
  9. End Sub


Message édité par fufu33 le 28-08-2008 à 14:05:48
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed