XL 2016 Changement couleur cellule sélectionné

Michest94

XLDnaute Occasionnel
Bonjour,

Comment changer la couleur d'une cellule quand elle est sélectionnée?

Merci à vous
 

Pièces jointes

  • Classeur1.xlsx
    8.5 KB · Affichages: 43
Solution
Bonjour JM,

Fichier (2) si une plage est concernée :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With [D8:D27] 'plage à adapter
    .Interior.Color = 12874308 'couleur de fond bleue
    .Font.ColorIndex = 2 'couleur police blanche
    If Intersect(ActiveCell, .Cells) Is Nothing Then Exit Sub
End With
With ActiveCell
    .Interior.Color = 49407 'couleur de fond orange
    .Font.ColorIndex = xlAutomatic 'couleur police noire
End With
End Sub
A+

Michest94

XLDnaute Occasionnel
Bonjour @Michest, le fil,

tu as écrit : « Exemple : j'ai 5 cellules D8;D9;D10;D11;D12... »

Regarde la pièce jointe 1089042

nouveau fichier ci-dessous, avec cette sub :
VB:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  With Target
    If .CountLarge > 1 Then Exit Sub
    If Intersect(Target, [D8:D12]) Is Nothing Then Exit Sub
    Application.ScreenUpdating = 0
    With [D8:D12]
      .Interior.Color = 12874308: .Font.ColorIndex = 2
    End With
    .Interior.Color = 49407: .Font.ColorIndex = 0
  End With
End Sub
clique sur une des cellules sur fond bleu. :)

soan
J'ai bien vu ce post que j'ai testé même problème que la MFC fonctionne en essai puis adapter à mon projet cela ne fonctionne pas l'un ou l'autre était parfait pour moi. Cela vient de ma feuille qui est pas mal chargé en macro. les menus sélectionner se trouvent sur la gauche de la feuille.

1608301625692.png
 

Michest94

XLDnaute Occasionnel
Bonjour @Michest, le fil,

je crois que tu as manqué mon post #10. :confused:

soan

J'ai bien vu ce post que j'ai testé même problème que la MFC fonctionne en essai puis adapter à mon projet cela ne fonctionne pas l'un ou l'autre était parfait pour moi. Cela vient de ma feuille qui est pas mal chargé en macro. les menus sélectionner se trouvent sur la gauche de la feuille.
 

soan

XLDnaute Barbatruc
Inactif
??? je n'ai pas utilisé de MFC dans mon fichier Excel (ni dans mon code VBA).

où donc veux-tu mettre une couleur de remplissage ? sur les 4 « bandes vertes »
avec « CAPTEUR DE CHLORE » à « INFRASTRUCTURE VPN » ?

ça aurait été plus facile si tu avais mis sur ton image les titres de lignes et de colonnes :
j'aurais pu mettre seulement les références de cellules.

pour t'aider davantage, tu devrais joindre ton fichier (sans données confidentielles) ;
il faut ton fichier pour voir quel est le code couleur de ton vert clair ; et quelle est
la 2ème couleur que tu veux ? le même jaune que celui du fichier précédent ?


soan
 

Michest94

XLDnaute Occasionnel
??? je n'ai pas utilisé de MFC dans mon fichier Excel (ni dans mon code VBA).

où donc veux-tu mettre une couleur de remplissage ? sur les 4 « bandes vertes »
avec « CAPTEUR DE CHLORE » à « INFRASTRUCTURE VPN » ?

ça aurait été plus facile si tu avais mis sur ton image les titres de lignes et de colonnes :
j'aurais pu mettre seulement les références de cellules.

pour t'aider davantage, tu devrais joindre ton fichier (sans données confidentielles)


soan
Oui mais le partage de fichier est limité en taille je crois
 

soan

XLDnaute Barbatruc
Inactif
alors joins un fichier simplifié avec une seule feuille, où il y a les 4 « bandes vertes » ;
mets aussi dans une cellule à part la 2ème couleur que tu désires voir quand on
clique sur une des 4 bandes vertes.

je ne peux pas te demander de mettre ton fichier sur un site de partage de
fichiers, car c'est devenu récemment interdit.


soan
 

soan

XLDnaute Barbatruc
Inactif
ton fichier en retour. :) ça a été plus long que prévu, car j'ai du insérer mon code VBA
dans le code déjà existant de la sub Worksheet_SelectionChange() ; je t'avais demandé
les couleurs, mais tu ne les as pas indiquées ; alors à défaut, j'ai mis les mêmes que
celles du fichier de mon post #10 ; à toi d'adapter les couleurs. 😜

edit : j'ai supprimé mon fichier joint car il y avait un bug ; le bon fichier
corrigé est sur mon
post #37 (vous pouvez cliquer sur le lien pour aller dessus).


soan
 
Dernière édition:

Michest94

XLDnaute Occasionnel
ton fichier en retour. :) ça a été plus long que prévu, car j'ai du insérer mon code VBA
dans le code déjà existant de la sub Worksheet_SelectionChange() ; je t'avais demandé
les couleurs, mais tu ne l'as pas indiqué ; alors à défaut, j'ai mis les mêmes que celles
du fichier de mon post #10 ; à toi d'adapter les couleurs. 😜


soan
Ok merci à toi je regarde ca et te fais un retour🙂
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

=>Michest
bonjour staple1600,
J'ai fait l'essai avec la MFC sur un classeur vierge cela fonctionne NICKEL et je garde précieusement ta macro.
Par contre quand j'essai de l'adapter dans mon projet sur une de mes feuilles cela ne m'affiche pas de couleur de sélection je pense que ma feuille se trouve avec des cellules fusionnées et perturbe le fonctionnement.
Je vais remettre en en forme cette feuille et l'adapté à nouveau.
Merci à toi
Michest
Merci d'avoir testé ma proposition.
Effectivement les cellules fusionnées ne sont pas prises en compte dans mon exemple (qui n'était qu'un exemple illustratif)
L'intérêt de la MFC c'est que c'est plus facile à paramétrer pour qui quelqu'un qui ne maitrise pas encore le VBA.
C'est plus intuitif (cela se pilote à la souris)
 

soan

XLDnaute Barbatruc
Inactif
@Michest

voici la nouvelle version. :) (c'est une version sans MFC)

A) il y a une case unique pour la fusion C28:E28
B)
il y a 4 cases en lignes 33 à 36, fusions C:E
C)
il y a une case unique pour la fusion C41:E41
D)
il y a 8 cases en lignes 46 à 53, fusions C:E

* la case unique de A) est indépendante du reste
* le groupe de 4 cases de B) est indépendant du reste
* la case unique de C) est indépendante du reste
* le groupe de 8 cases de D) est indépendant du reste


-------------------------------------------------------------------------------------

edit : le fichier joint est un bon exemple pour les 2 cases uniques A) et C) +
les 2 groupes de cases B) et D), tous indépendants ; mais j'ai compris ensuite
qu'il fallait voir le tout comme une seule liste unique, même si cette liste n'est
pas continue ; le bon fichier est sur mon post #37 (clic / le lien pour aller dessus).


soan
 

Pièces jointes

  • feuilleDOC1.xlsm
    437.6 KB · Affichages: 3
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

=>Michest
Avec cette version, la plage de cellules n'est pas figée
Tu sélectionnes par le biais d'un InputBox.
(Il faut sélectionner les cellules avec la souris quand l'InputBox s'affiche)
VB:
Sub Créer_MFC_v2()
Dim Rng As Range
Set Rng = Application.InputBox("Plage de cellules concernées par la MFC?", "Surbrillance Cellue Active", , , , Type:=8)
Rng.FormatConditions.Add Type:=xlExpression, Formula1:="=ADRESSE(LIGNE();COLONNE())=CELLULE(""adresse"")"
With Rng.FormatConditions(1).Borders
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThin
End With
Rng.FormatConditions(1).Interior.Color = 65535
End Sub
NB:
Il faudra toujours penser à mettre également la procédure évènementielle Selection_Change() dans la feuille.
 

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 492
Membres
103 234
dernier inscrit
matteo75654548