Macro protéger feuilles et autoris. largeur colonnes
Résolu
AL_83
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
AL_83 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
AL_83 Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je galère avec une macro.
En fait, je souhaite protéger mes feuilles (ça c'est bon) mais en autorisant les commentaires (ça aussi) et la largeur des colonnes (ça, ça ne va pas).
Voici la macro:
Sub Protege()
Dim f As Worksheet
For Each f In ThisWorkbook.Worksheets
f.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
Next
End Sub
Sub DeprotegeTout()
Application.ScreenUpdating = False
For Each Feuil In Application.Sheets
Feuil.Unprotect
Feuil.Range("A1") = "Feuille non protégée"
Next Feuil
Application.ScreenUpdating = True
End Sub
En fait, je ne sais pas où et comment rajouter la possibilité de modifier la largeur des colonnes.
Si quelqu'un peut m'aider....
Et aussi, comment faire pour que personne ne puisse ôter la protection? Je n'ai pas réussi à faire la même macro avec un mot de passe...
Suis vraiment nulle avec les macros...
Merci d'avance!!!!!!!!!!!
Je galère avec une macro.
En fait, je souhaite protéger mes feuilles (ça c'est bon) mais en autorisant les commentaires (ça aussi) et la largeur des colonnes (ça, ça ne va pas).
Voici la macro:
Sub Protege()
Dim f As Worksheet
For Each f In ThisWorkbook.Worksheets
f.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
Next
End Sub
Sub DeprotegeTout()
Application.ScreenUpdating = False
For Each Feuil In Application.Sheets
Feuil.Unprotect
Feuil.Range("A1") = "Feuille non protégée"
Next Feuil
Application.ScreenUpdating = True
End Sub
En fait, je ne sais pas où et comment rajouter la possibilité de modifier la largeur des colonnes.
Si quelqu'un peut m'aider....
Et aussi, comment faire pour que personne ne puisse ôter la protection? Je n'ai pas réussi à faire la même macro avec un mot de passe...
Suis vraiment nulle avec les macros...
Merci d'avance!!!!!!!!!!!
A voir également:
- Macro protéger feuilles et autoris. largeur colonnes
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire un livret avec des feuilles a4 - Guide
- Comment faire des colonnes sur word - Guide
- Proteger cellule excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
3 réponses
Bonjour,
L'enregistreur de macro nous donne, pour conserver le formatage des colonnes :
A ajouter donc à :
Pour le mot de passe, une simple Inputbox (boîte de dialogue utilisateur) suffira peut être???
Comme ceci (le mot de passe de l'exemple est, bien sur, toto59X) :
adaptée à ton code :
Cordialement,
Franck P
L'enregistreur de macro nous donne, pour conserver le formatage des colonnes :
AllowFormattingColumns:=True
A ajouter donc à :
f.Protect DrawingObjects:=False, Contents:=True, Scenarios:=Falsepour obtenir :
f.Protect DrawingObjects:=False, Contents:=True, Scenarios:=False, AllowFormattingColumns:=True
Pour le mot de passe, une simple Inputbox (boîte de dialogue utilisateur) suffira peut être???
Comme ceci (le mot de passe de l'exemple est, bien sur, toto59X) :
Dim MotDePasse As String MotDePasse = InputBox("Saisie du mot de passe", "PASSWORD") If MotDePasse <> "toto59X" Then Exit Sub 'Le reste de ton code ici
adaptée à ton code :
Sub DeprotegeTout() Dim MotDePasse As String MotDePasse = InputBox("Saisie du mot de passe", "PASSWORD") If MotDePasse <> "toto59X" Then MsgBox "Le mot de passe est erroné" Exit Sub End If Application.ScreenUpdating = False For Each Feuil In Application.Sheets Feuil.Unprotect Feuil.Range("A1") = "Feuille non protégée" Next Feuil Application.ScreenUpdating = True End Sub
Cordialement,
Franck P
Bonjour,
Attention: pas autoris commentaires
Et aussi, comment faire pour que personne ne puisse ôter la protection?dans votre cas, protect/unprotect par VBA, il faut proteger le code VBA
A+
Attention: pas autoris commentaires
Sub protect() 'Nom de feuille a adapter, AllowFormattingColumns-->format colonne Worksheets("Feuil1").protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFormattingColumns:=True Worksheets("Feuil1").EnableSelection = xlNoSelection End Sub Sub unprotect() Worksheets("Feuil1").unprotect Password:="toto" End Sub
Et aussi, comment faire pour que personne ne puisse ôter la protection?dans votre cas, protect/unprotect par VBA, il faut proteger le code VBA
A+