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
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.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 :
clique sur une des cellules sur fond bleu.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
soan
Oui mais le partage de fichier est limité en taille je crois??? 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
ok je prépare un fichier et le met à dispo c'est sympa à toialors 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.
soan
En fait la sélection ce n'est pas sur les bandes vertes c'est sur les cellules C28,C33àC36;C41;C46àC53ok je prépare un fichier et le met à dispo c'est sympa à toi
Ok merci à toi je regarde ca et te fais un retourton 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
Merci beaucoup c'est sympaj'ai vu un bug ! je vais corriger ça, et faire une version améliorée.
soan
Merci d'avoir testé ma proposition.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
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