Colorer cellules sélectionnées - clic bouton

thiboh41 -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

J'ai un fichier excel qui calcule le taux d'occupation d'un service au sein d'un établissement de santé.
Ainsi, chaque jour de la semaine, le nombre de personnes présentes dans le service est comptabilisé, puis comparé au nombre de place "théorique" pour établir un ratio.
Pour vous expliquer rapidement, lorsque le service ferme exceptionnellement, il faut que le nombre de place théorique passe a 0. Or, les employés qui remplissent ce tableau oublis souvent de mettre ce chiffre à 0, ce qui diminue le taux de remplissage...
J'ai donc créer un macro qui fait passer automatiquement le nombre de place théorique à 0 quand la case correspondant au jour est colorée en rouge.
Or, les employés ne savant pas trop se servir d'excel, j'ai peur qu'ils ne sélectionnent pas la bonne couleur (oui, ce doit etre toujours la meme pour que la formule fonctionne...) et que ma formule tombe a l'eau.

J'aimerai donc savoir si il y'a un miyen simple pour créer un bouton, qui permettrai de coloré d'une couleur prédéfini des cases sélectionnées au préalable ?
par exemple, je selectionne A1:B1, j'appuie sur le bouton, et elles se colorent en rouge "3".

Merci beaucoup pour votre précieuse aide,

Thibaut

A voir également:

1 réponse

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Oui, bien sûr :
Sub colore()  
    Selection.Interior.ColorIndex = 3  
End Sub  

et en cas de besoin :
Sub décolore()
    Selection.Interior.ColorIndex = xlNone
End Sub

A noter que les MFC prennent le dessus...
Et tu pourrais ajouter un contrôle pour que ça ne s'applique que dans des zones prédéfinies.
Si ça t'interesse précise tes plages.

eric
0
thiboh41
 
Excellent, merci beaucoup !

Pourquoi pas prédéfinir mes zones, ca m'intéresse. J'aimerai que cette macro ne soit possible que pour les colonnes A et B, de la cellule 4 a 430... ?

Encore merci...

Thibaut
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Re,

Sub colore()
    Dim plage As Range
    Set plage = Intersect(Selection, [A4:B430])
    If plage.Address <> Selection.Address Then MsgBox ("Selection réduite sur la plage A4:B430")
    If Not plage Is Nothing Then
        plage.Interior.ColorIndex = 3
        plage.Select
    End If
End Sub

Tu peux enlever le message d'alerte si c'est superflu pour l'utilisateur.

eric
0