Excel Downloads
Forum

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


 
 
LinkBack Outils de la discussion
Vieux 08/01/2005, 22h59   #1 (permalink)
Surfing Joe
Guest
 
Messages: n/a
Par défaut verrouiller selon la couleur de fond

Bonsoir,

Je ne peux plus me passer de ce forum!

Savez_vous comment verrouiller ou d¨¦verouiller automatiquement des cellules en fonction de la couleur de fond.

Dans le fichier joint je voudrai que seules les cellules fond jaune restent d¨¦verrouill¨¦es.

Merci

A+
Fichiers attachés
Type de fichier : zip Vercellcouleurs.zip (21,5 Ko, 2 affichages)
 
ANNONCES
Vieux 09/01/2005, 09h42   #2 (permalink)
jmps
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Bonjour Surfing Joe, bonjour Forum,

Est-ce que ta question veut dire que tu veux que ce soit dynamique quand tu changes la couleur de la cellule ou bien tu veux juste le faire une fois. Auquel cas, je ne vois pas l'intérêt de faire une macro, il suffit de le faire à la main.

A+

José
 
Vieux 09/01/2005, 10h03   #3 (permalink)
jmps
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Re Surfing Joe,

Voici un code qui permet de faire ce que tu demandes.

Sub VerrouillageCouleur()
  ActiveSheet.Unprotect
    For Each c In Range("A1:R26")
      If c.Interior.ColorIndex = 36 Then
        c. Locked = False
      Else
        c. Locked = True
      End If
    Next c
  ActiveSheet.Protect
End Sub


Je regarde pour l'adapter en dynamique mais c'est pas gagné car le changement de couleur ne déclenche pas un évènement Worksheet_Change.

A+

José
 
Vieux 09/01/2005, 11h22   #4 (permalink)
jmps
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Re re,

D'abord une simplification de mon code précédent :

Sub VerrouillageCouleur()
  ActiveSheet.Unprotect
  For Each c In Range("A1:R26")
    c.Locked = Not (c.Interior.ColorIndex = 36)
  Next c
  ActiveSheet.Protect
End Sub


C'est une astuce que j'avais vue sur un poste de Ti il n'y a pas très longtemps. Merci à lui.

Pour ce qui est de l'utilisation en dynamique, il n'y a effectivement pas d'évènement déclenché par le fait de changer une couleur de cellule, ce qui est fort dommage mon cher Billou (Lol !). Il faudrait donc déclencher cette macro sur des évènements comme :
Worksheet_Change
Worksheet_SelectionChange
Worksheet_Calculate


La seule contrainte, c'est qu'on est obligé de parcourir toute la plage à chaque fois car on ne sait pas quelle(s) cellule(s) a ou ont changé de couleur. Dans ton exemple ce n'est pas gênant mais si tu as des grandes plages à parcourir, ça peut devenir embêtant en termes de temps de réponse. Si tu veux quand même l'utiliser tu places le code ci-dessus dans un module standard. Puis tu appelles VerrouillageCouleur dans un (ou plusieurs si tu veux) des Sub Worksheet_xxxxxx que je citais.

Voilà. Maintenant peut-être que quelqu'un d'autre a une solution plus élégante.

Bon dimanche.

José
 
Vieux 09/01/2005, 13h15   #5 (permalink)
Benoit
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Bonjour,

Je viens me greffer sur le post de Surfing Joe pour poser la question suivante qui est dans le même style ;

Est-il possible de vérouiller certaines cellules, en fonction de la couleur d' un autre cellule ? Par exemple, peut-on verouiller A1 B1 C1 D1 E1, si la couleur de la cellule G1 est rouge par exemple.

Merci.
 
Vieux 09/01/2005, 14h30   #6 (permalink)
jmps
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Bonjour Benoit,

Bien sûr, c'est le même principe. Mais le problème reste le même... Dynamique ou pas ?

Sub VerrouillageCouleur()
  If Range("G1").Interior.ColorIndex = 3 Then Range("A1:E1").Locked = True
End Sub


Bon dimanche à toi aussi.

José
 
Vieux 09/01/2005, 18h40   #7 (permalink)
Benoit
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Merci José pour ta réponse .
Bonne soirée. Benoit.
 
Vieux 10/01/2005, 13h18   #8 (permalink)
Surfing Joe
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Bonjour! merci ¨¤ tous, je vais essayer vos pr¨¦cieux conseils, et vous teindrai au courrant.

L'int¨¦r¨ºt est que lorsqu'on travaille ¨¤ plusieurs sur une feuille comportant beaucoup de lignes et de colonnes, on peut construire en d¨¦terminant imm¨¦diatement par le fond color¨¦, quelles cellules peuvent ¨ºtre modifiables ou pas, et ainsi chacun se rep¨¨re rapidement ce qui ¨¦vite aussi des erreurs de saisie.

A+ S.J.
 
Vieux 10/01/2005, 13h52   #9 (permalink)
Surfing Joe
Guest
 
Messages: n/a
Par défaut Re: verrouiller selon la couleur de fond

Bonjour Jmps,

Ta marco fonctionne bien et r¨¦pond ¨¤ mon attente, c'est un peu long mais bien pratique pour moi, de plus c'est une excellente base pour ¨¦voluer. Je vais travailler avec...

Merci 65536x256 fois.
 
ANNONCES
 

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 20h29.


(C) 2006 Excel Downloads