Bonjour,
je cherche à protéger mes feuilles, toutes d'un coup (et à les déprotéger
pareil bien sur), seulement, voila mes critères :
- ne pouvoir sélectionner que les cellules non verrouillées
- pouvoir saisir des commentaires dans ces cellules non verouillées
- pouvoir modifier la hauteur des lignes
J'ai cette macro actuellement, donc que dois-je modifier pour arriver à mes
fins ?
Je vous remercie.
------------
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
Next I
End Sub
---------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Philippe.R
Bonsoir, Avec l'aide de l'enregistreur de macros, j'obtiens : pour ne pouvoir sélectionner que les cellules non verrouillées, l'instruction : ActiveSheet.EnableSelection = xlUnlockedCells et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir un commentaire. -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Sunburn" a écrit dans le message de news:
Bonjour, je cherche à protéger mes feuilles, toutes d'un coup (et à les déprotéger pareil bien sur), seulement, voila mes critères : - ne pouvoir sélectionner que les cellules non verrouillées - pouvoir saisir des commentaires dans ces cellules non verouillées - pouvoir modifier la hauteur des lignes
J'ai cette macro actuellement, donc que dois-je modifier pour arriver à mes fins ? Je vous remercie. ------------ Sub PROTEGERFEUILLES() Dim Nombre As Integer Nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For I = 1 To Nombre Worksheets(I).Protect , DrawingObjects:=True Next I End Sub ---------------
Bonsoir,
Avec l'aide de l'enregistreur de macros, j'obtiens :
pour ne pouvoir sélectionner que les cellules non verrouillées,
l'instruction :
ActiveSheet.EnableSelection = xlUnlockedCells
et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à
ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True
Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir
un commentaire.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news:8522F612-DB2C-44B4-9D4E-596BEFD3D2C8@microsoft.com...
Bonjour,
je cherche à protéger mes feuilles, toutes d'un coup (et à les déprotéger
pareil bien sur), seulement, voila mes critères :
- ne pouvoir sélectionner que les cellules non verrouillées
- pouvoir saisir des commentaires dans ces cellules non verouillées
- pouvoir modifier la hauteur des lignes
J'ai cette macro actuellement, donc que dois-je modifier pour arriver à
mes
fins ?
Je vous remercie.
------------
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
Next I
End Sub
---------------
Bonsoir, Avec l'aide de l'enregistreur de macros, j'obtiens : pour ne pouvoir sélectionner que les cellules non verrouillées, l'instruction : ActiveSheet.EnableSelection = xlUnlockedCells et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir un commentaire. -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel "Sunburn" a écrit dans le message de news:
Bonjour, je cherche à protéger mes feuilles, toutes d'un coup (et à les déprotéger pareil bien sur), seulement, voila mes critères : - ne pouvoir sélectionner que les cellules non verrouillées - pouvoir saisir des commentaires dans ces cellules non verouillées - pouvoir modifier la hauteur des lignes
J'ai cette macro actuellement, donc que dois-je modifier pour arriver à mes fins ? Je vous remercie. ------------ Sub PROTEGERFEUILLES() Dim Nombre As Integer Nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For I = 1 To Nombre Worksheets(I).Protect , DrawingObjects:=True Next I End Sub ---------------
Sunburn
Bonjour phil,je te remercie. mais j'ai encore un soucis, que je pensais résoudre par la possibilité de modifier la hauteur de ligne. en effet, j'ai une macro qui me redimensionne la hauteur des lignes de certaines cellules. et lorsque je verouille les feuilles, ça bug.....
Merci si vous pouvez m'aider.. Yann voilà ma macro pour la hauteur automatique des lignes (ça plante aux ****) --------------- 'hauteur des lignes automatique Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range) Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single If Target.WrapText = False Or Target.Count > 1 Then Exit Sub For I = 1 To Target.MergeArea.Columns.Count LARGEUR = LARGEUR + Target.ColumnWidth Next I Application.EnableEvents = False With ActiveSheet.UsedRange Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1) AncLarg = c.ColumnWidth c.ColumnWidth = LARGEUR '(*****************) c.WrapText = True c.Value = Target.Value Target.EntireRow.RowHeight = c.Height Var = c.Address c.Clear c.ColumnWidth = AncLarg End With Recalcul Application.EnableEvents = True End Sub ------------ et ma macro de verouillage : ----------- ' Protection automatique de toutes les feuilles d'un classeur Sub PROTEGERFEUILLES() Dim Nombre As Integer Nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For I = 1 To Nombre Worksheets(I).Protect , DrawingObjects:=True ActiveSheet.EnableSelection = xlUnlockedCells AllowFormattingRows = True AllowFormattingColumns = True 'rajouté, mais ça sert à rien Next I End Sub ---------------
"Philippe.R" a écrit :
Bonsoir, Avec l'aide de l'enregistreur de macros, j'obtiens : pour ne pouvoir sélectionner que les cellules non verrouillées, l'instruction : ActiveSheet.EnableSelection = xlUnlockedCells et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir un commentaire. -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel
Bonjour phil,je te remercie.
mais j'ai encore un soucis, que je pensais résoudre par la possibilité de
modifier la hauteur de ligne.
en effet, j'ai une macro qui me redimensionne la hauteur des lignes de
certaines cellules.
et lorsque je verouille les feuilles, ça bug.....
Merci si vous pouvez m'aider..
Yann
voilà ma macro pour la hauteur automatique des lignes (ça plante aux ****)
---------------
'hauteur des lignes automatique
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)
Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
For I = 1 To Target.MergeArea.Columns.Count
LARGEUR = LARGEUR + Target.ColumnWidth
Next I
Application.EnableEvents = False
With ActiveSheet.UsedRange
Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
AncLarg = c.ColumnWidth
c.ColumnWidth = LARGEUR '(*****************)
c.WrapText = True
c.Value = Target.Value
Target.EntireRow.RowHeight = c.Height
Var = c.Address
c.Clear
c.ColumnWidth = AncLarg
End With
Recalcul
Application.EnableEvents = True
End Sub
------------
et ma macro de verouillage :
-----------
' Protection automatique de toutes les feuilles d'un classeur
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
AllowFormattingRows = True
AllowFormattingColumns = True 'rajouté, mais ça sert à rien
Next I
End Sub
---------------
"Philippe.R" a écrit :
Bonsoir,
Avec l'aide de l'enregistreur de macros, j'obtiens :
pour ne pouvoir sélectionner que les cellules non verrouillées,
l'instruction :
ActiveSheet.EnableSelection = xlUnlockedCells
et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à
ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True
Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir
un commentaire.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
Bonjour phil,je te remercie. mais j'ai encore un soucis, que je pensais résoudre par la possibilité de modifier la hauteur de ligne. en effet, j'ai une macro qui me redimensionne la hauteur des lignes de certaines cellules. et lorsque je verouille les feuilles, ça bug.....
Merci si vous pouvez m'aider.. Yann voilà ma macro pour la hauteur automatique des lignes (ça plante aux ****) --------------- 'hauteur des lignes automatique Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range) Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single If Target.WrapText = False Or Target.Count > 1 Then Exit Sub For I = 1 To Target.MergeArea.Columns.Count LARGEUR = LARGEUR + Target.ColumnWidth Next I Application.EnableEvents = False With ActiveSheet.UsedRange Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1) AncLarg = c.ColumnWidth c.ColumnWidth = LARGEUR '(*****************) c.WrapText = True c.Value = Target.Value Target.EntireRow.RowHeight = c.Height Var = c.Address c.Clear c.ColumnWidth = AncLarg End With Recalcul Application.EnableEvents = True End Sub ------------ et ma macro de verouillage : ----------- ' Protection automatique de toutes les feuilles d'un classeur Sub PROTEGERFEUILLES() Dim Nombre As Integer Nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For I = 1 To Nombre Worksheets(I).Protect , DrawingObjects:=True ActiveSheet.EnableSelection = xlUnlockedCells AllowFormattingRows = True AllowFormattingColumns = True 'rajouté, mais ça sert à rien Next I End Sub ---------------
"Philippe.R" a écrit :
Bonsoir, Avec l'aide de l'enregistreur de macros, j'obtiens : pour ne pouvoir sélectionner que les cellules non verrouillées, l'instruction : ActiveSheet.EnableSelection = xlUnlockedCells et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir un commentaire. -- Avec plaisir http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel
Bonjour phil,je te remercie. mais j'ai encore un soucis, que je pensais résoudre par la possibilité de modifier la hauteur de ligne. en effet, j'ai une macro qui me redimensionne la hauteur des lignes de certaines cellules. et lorsque je verouille les feuilles, ça bug.....
Merci si vous pouvez m'aider.. Yann voilà ma macro pour la hauteur automatique des lignes (ça plante aux ****) --------------- 'hauteur des lignes automatique Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range) Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single If Target.WrapText = False Or Target.Count > 1 Then Exit Sub For I = 1 To Target.MergeArea.Columns.Count LARGEUR = LARGEUR + Target.ColumnWidth Next I Application.EnableEvents = False With ActiveSheet.UsedRange Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1) AncLarg = c.ColumnWidth c.ColumnWidth = LARGEUR '(*****************) c.WrapText = True c.Value = Target.Value Target.EntireRow.RowHeight = c.Height Var = c.Address c.Clear c.ColumnWidth = AncLarg End With Recalcul Application.EnableEvents = True End Sub ------------ et ma macro de verouillage : ----------- ' Protection automatique de toutes les feuilles d'un classeur Sub PROTEGERFEUILLES() Dim Nombre As Integer Nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For I = 1 To Nombre Worksheets(I).Protect , DrawingObjects:=True ActiveSheet.EnableSelection = xlUnlockedCells AllowFormattingRows = True AllowFormattingColumns = True 'rajouté, mais ça sert à rien Next I End Sub ---------------
"Philippe.R" a écrit :
Bonsoir, Avec l'aide de l'enregistreur de macros, j'obtiens : pour ne pouvoir sélectionner que les cellules non verrouillées, l'instruction : ActiveSheet.EnableSelection = xlUnlockedCells et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir un commentaire. -- Avec plaisir http://dj.joss.free.fr/trombine.htm" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel
Bonsoir,
Si j'ai bien suivi, la réponse apportée dans le nouveau fil que tu as ouvert
à 10:27 convient.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Sunburn" <Sunburn@discussions.microsoft.com> a écrit dans le message de
news:96767B33-25B8-4D47-B74D-9BB1F4164FFD@microsoft.com...
Bonjour phil,je te remercie.
mais j'ai encore un soucis, que je pensais résoudre par la possibilité de
modifier la hauteur de ligne.
en effet, j'ai une macro qui me redimensionne la hauteur des lignes de
certaines cellules.
et lorsque je verouille les feuilles, ça bug.....
Merci si vous pouvez m'aider..
Yann
voilà ma macro pour la hauteur automatique des lignes (ça plante aux ****)
---------------
'hauteur des lignes automatique
Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As
Range)
Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single
If Target.WrapText = False Or Target.Count > 1 Then Exit Sub
For I = 1 To Target.MergeArea.Columns.Count
LARGEUR = LARGEUR + Target.ColumnWidth
Next I
Application.EnableEvents = False
With ActiveSheet.UsedRange
Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1)
AncLarg = c.ColumnWidth
c.ColumnWidth = LARGEUR '(*****************)
c.WrapText = True
c.Value = Target.Value
Target.EntireRow.RowHeight = c.Height
Var = c.Address
c.Clear
c.ColumnWidth = AncLarg
End With
Recalcul
Application.EnableEvents = True
End Sub
------------
et ma macro de verouillage :
-----------
' Protection automatique de toutes les feuilles d'un classeur
Sub PROTEGERFEUILLES()
Dim Nombre As Integer
Nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For I = 1 To Nombre
Worksheets(I).Protect , DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
AllowFormattingRows = True
AllowFormattingColumns = True 'rajouté, mais ça sert à rien
Next I
End Sub
---------------
"Philippe.R" a écrit :
Bonsoir,
Avec l'aide de l'enregistreur de macros, j'obtiens :
pour ne pouvoir sélectionner que les cellules non verrouillées,
l'instruction :
ActiveSheet.EnableSelection = xlUnlockedCells
et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True",
à
ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True
Les cellules non verrouillées, pouvant être sélectionnées, pourront
recevoir
un commentaire.
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
Bonjour phil,je te remercie. mais j'ai encore un soucis, que je pensais résoudre par la possibilité de modifier la hauteur de ligne. en effet, j'ai une macro qui me redimensionne la hauteur des lignes de certaines cellules. et lorsque je verouille les feuilles, ça bug.....
Merci si vous pouvez m'aider.. Yann voilà ma macro pour la hauteur automatique des lignes (ça plante aux ****) --------------- 'hauteur des lignes automatique Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range) Dim c As Range, LARGEUR As Double, HAUTEUR As Single, AncLarg As Single If Target.WrapText = False Or Target.Count > 1 Then Exit Sub For I = 1 To Target.MergeArea.Columns.Count LARGEUR = LARGEUR + Target.ColumnWidth Next I Application.EnableEvents = False With ActiveSheet.UsedRange Set c = Range(.Cells(.Rows.Count, .Columns.Count).Address).Offset(1) AncLarg = c.ColumnWidth c.ColumnWidth = LARGEUR '(*****************) c.WrapText = True c.Value = Target.Value Target.EntireRow.RowHeight = c.Height Var = c.Address c.Clear c.ColumnWidth = AncLarg End With Recalcul Application.EnableEvents = True End Sub ------------ et ma macro de verouillage : ----------- ' Protection automatique de toutes les feuilles d'un classeur Sub PROTEGERFEUILLES() Dim Nombre As Integer Nombre = ActiveWorkbook.Sheets.Count Application.ScreenUpdating = False For I = 1 To Nombre Worksheets(I).Protect , DrawingObjects:=True ActiveSheet.EnableSelection = xlUnlockedCells AllowFormattingRows = True AllowFormattingColumns = True 'rajouté, mais ça sert à rien Next I End Sub ---------------
"Philippe.R" a écrit :
Bonsoir, Avec l'aide de l'enregistreur de macros, j'obtiens : pour ne pouvoir sélectionner que les cellules non verrouillées, l'instruction : ActiveSheet.EnableSelection = xlUnlockedCells et pour la hauteur de ligne, l'expression ", AllowFormattingRows:=True", à ajouter à la suite de Worksheets(I).Protect , DrawingObjects:=True Les cellules non verrouillées, pouvant être sélectionnées, pourront recevoir un commentaire. -- Avec plaisir http://dj.joss.free.fr/trombine.htm" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://dj.joss.free.fr/trombine.htm http://jacxl.free.fr/mpfe/trombino.html" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://jacxl.free.fr/mpfe/trombino.html Philippe.R Pour se connecter au forum : http://www.excelabo.net/mpfe/connexion.php" target="_blank" class="text-blue hover:opacity-90 " style="word-break: break-all;" rel="noopener nofollow">http://www.excelabo.net/mpfe/connexion.php News://news.microsoft.com/microsoft.public.fr.excel