![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: mars 2005
Version Excel : Excel 2000 (PC)
Messages: 264
|
Bonjour le forum,
Disons qu'on doit vérifier quelles cellules sont vérouillées et pas vérouillées sur une feuille. Existe-t-il un moyen (un macro) qui, une fois lancé, colore automatiquement (en rouge par exemple) les cellules non vérouillées de la feuille ? Et du classeur ? Merci pour tout conseil, Mi |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 366
|
Bonjour
En selectionant d'abord ta plage Sub ColorierDeverouille() For Each cell In Selection If cell.Locked = False Then cell.Interior.ColorIndex = 3 Next End Sub Bonne soirée Edition sans selection avec calcul de la zone Sub ColorierDeverouille() macolonne = Range('A1').SpecialCells(xlCellTypeLastCell).Colum n maligne = Range('A1').SpecialCells(xlCellTypeLastCell).Row For x = 1 To maligne For y = 1 To macolonne If Cells(x, y).Locked = False Then Cells(x, y).Interior.ColorIndex = 3 Next Next End Sub Message édité par: Pascal76, à: 10/04/2005 22:01
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#3 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 366
|
oups j'avais pas vu que tu avais demandé pour tout le classeur aussi
alors cela devrait donné Sub ColorierDeverouille() For Each ws In Worksheets macolonne = ws.Range('A1').SpecialCells(xlCellTypeLastCell).Co lumn maligne = ws.Range('A1').SpecialCells(xlCellTypeLastCell).Ro w For x = 1 To maligne For y = 1 To macolonne If ws.Cells(x, y).Locked = False Then ws.Cells(x, y).Interior.ColorIndex = 3 Next Next Next End Sub Bon courage
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: février 2005
Messages: 242
|
Bonsoir,
Celle-ci colore puis décolore toutes les cellules de toutes les feuilles du classeur (si les feuilles ne sont pas elle-même protégées...) Sub Test() For Each ws In Worksheets ws.Activate For Each o In ActiveSheet.UsedRange If o.Locked = False Then If o.Interior.ColorIndex = xlNone Then o.Interior.ColorIndex = 3 Else o.Interior.ColorIndex = xlNone End If Next Next End Sub A+ |
|
|
|
|
|
#5 (permalink) |
|
Super Moderator
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 366
|
Bien galopin j'avais pas pensé au coup du usedrange
Par contre je pense que tu n'es pas obligé d'activer tes feuilles comme cela tu gagnes un peu de temps si tu en as beaucoup cela donnerait Sub Test() For Each ws In Worksheets For Each o In ws.UsedRange If ws.o.Locked = False Then If ws.o.Interior.ColorIndex = xlNone Then ws.o.Interior.ColorIndex = 3 Else ws.o.Interior.ColorIndex = xlNone End If Next Next End Sub Bonne soirée Message édité par: Pascal76, à: 10/04/2005 22:14
__________________
Pascal(Visitez mon Blog Photo)Vous pouvez devenir "Supporter XLD", plus de renseignements ICI |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: février 2005
Messages: 242
|
Bonsoir,
C'est parfaitement exact, je résume donc : Sub Test() For Each ws In Worksheets For Each o In ws.UsedRange If o.Locked = False Then If o.Interior.ColorIndex = xlNone Then o.Interior.ColorIndex = 3 Else o.Interior.ColorIndex = xlNone End If Next Next End Sub A+ |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 100
|
Bonsoir à tous,
Heureux du bon dénouement de ce Fil, mais je viens pour autre chose... Attention, on va instaurer une démo Barbatruc de passage aux palliers d'XLD !!! Alors Pascal Post - 11 !!! et... Une Démo !!! Une Démo !!! Une Démo !!! Et sinon on peut le faire à 100 comme notre ami Robert !! Hihihi @+Thierry |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|