Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 10/04/2005, 22h50   #1 (permalink)
Mi_
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Version Excel : Excel 2000 (PC)
Messages: 264
Par défaut Colorer les cellules non vérouillées

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
Mi_ est déconnecté   Réponse avec citation
ANNONCES
Vieux 10/04/2005, 22h56   #2 (permalink)
Super Moderator
 
Avatar de PascalXLD
 
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 366
Par défaut Re:Colorer les cellules non vérouillées

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
PascalXLD est déconnecté   Réponse avec citation
Vieux 10/04/2005, 23h06   #3 (permalink)
Super Moderator
 
Avatar de PascalXLD
 
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 366
Par défaut Re:Colorer les cellules non vérouillées

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
PascalXLD est déconnecté   Réponse avec citation
Vieux 10/04/2005, 23h07   #4 (permalink)
XLDnaute Occasionel
 
Date d'inscription: février 2005
Messages: 242
Par défaut Re:Colorer les cellules non vérouillées

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+
galopin01 est déconnecté   Réponse avec citation
Vieux 10/04/2005, 23h12   #5 (permalink)
Super Moderator
 
Avatar de PascalXLD
 
Date d'inscription: février 2005
Localisation: Rennes
Version Excel : Excel 2000 (PC)
Messages: 8 366
Par défaut Re:Colorer les cellules non vérouillées

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
PascalXLD est déconnecté   Réponse avec citation
Vieux 10/04/2005, 23h19   #6 (permalink)
XLDnaute Occasionel
 
Date d'inscription: février 2005
Messages: 242
Par défaut Re:Colorer les cellules non vérouillées

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+
galopin01 est déconnecté   Réponse avec citation
Vieux 10/04/2005, 23h50   #7 (permalink)
Mi_
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Version Excel : Excel 2000 (PC)
Messages: 264
Par défaut Re:Colorer les cellules non vérouillées

Merci, Pascal76 et galopin01 de votre aide, cela marche si bien.

Mi
Mi_ est déconnecté   Réponse avec citation
Vieux 11/04/2005, 00h29   #8 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 100
Par défaut => Post 500 - 11 Une Démo ! Une Démo ! Une Démo !

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
_Thierry est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 15h57.


(C) 2006 Excel Downloads