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
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .CountLarge > 1 Then Exit Sub
If .Address = "$D$8" Then .Interior.Color = 49407
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With [D8]
.Interior.Color = IIf(Target.Address = .Address, 49407, 12874308) 'couleur de fond
.Font.ColorIndex = IIf(Target.Address = .Address, xlAutomatic, 2) 'couleur police
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal T As Range)
If T.Count > 1 Then Exit Sub
T.Interior.Color = IIf(T.Address = "$D$8", Asc("Staple") + 1600, xlNone)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
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
Bonjour Michest, le fil,
ton fichier en retour ; clique sur ta cellule D8.
ah, ben voilà c'que c'est d'jouer au fantôme !
t'as fais si peur à ta cellule qu'elle a attrapé la jaunisse !
le smiley vert, c'est pour dire que D8 est malade, mais D8 est bien jaune,
pas verte ! ça va, tu as tout suivi ? (sinon, relis tout bien lentement)
fais Alt F11 pour voir le code VBA ; puis quand tu auras terminé
d'admirer ma belle macro, fais Alt F11 pour aller sur Excel.
voici un remède pour ta cellule D8 :VB:Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Target If .CountLarge > 1 Then Exit Sub If .Address = "$D$8" Then .Interior.Color = 49407 End With End Sub
soan
Désolé pour le retour un peu tardif, j'ai vu la cellule D8 c'est parfait SOANBonjour Michest, le fil,
ton fichier en retour ; clique sur ta cellule D8.
ah, ben voilà c'que c'est d'jouer au fantôme !
t'as fais si peur à ta cellule qu'elle a attrapé la jaunisse !
le smiley vert, c'est pour dire que D8 est malade, mais D8 est bien jaune,
pas verte ! ça va, tu as tout suivi ? (sinon, relis tout bien lentement)
fais Alt F11 pour voir le code VBA ; puis quand tu auras terminé
d'admirer ma belle macro, fais Alt F11 pour aller sur Excel.
voici un remède pour ta cellule D8 :VB:Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Target If .CountLarge > 1 Then Exit Sub If .Address = "$D$8" Then .Interior.Color = 49407 End With End Sub
soan
Merci pour le retour c'est nickelBonjour Michest, soan,
A+VB:Private Sub Worksheet_SelectionChange(ByVal Target As Range) With [D8] .Interior.Color = IIf(Target.Address = .Address, 49407, 12874308) 'couleur de fond .Font.ColorIndex = IIf(Target.Address = .Address, xlAutomatic, 2) 'couleur police End With End Sub
NICKEL ! merciBonjour JM,
Fichier (2) si une plage est concernée :
A+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
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
Désolé aujourd'hui journée un peu compliquée je te fais un retour demain le seul essai que j'ai pu faire à partir d'un fichier exemple correspond bien à mon besoin par contre quand j'essai de l'appliquer dans mon fichier source cela ne fonctionne pas, je vais regarder ton retour sur les MFC si cela peut être concluant.Bonsoir le fil
=>Michest
Pas de retour, avis et/ou commentaires sur le message#5 ?
(notamment la proposition qui mixe VBA et Mise en forme conditionnelle)
J'avais pourtant pris le temps de faire une belle copie d'écran.
Sub Créer_MFC()
Dim Rng As Range
Set Rng = [A1:H20] 'adpater ici la plage concernée par la MFC
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
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
Ok je te fais un retour demain après les tests de ta macro à dispo.Bonsoir Michest
=>Michest
Merci pour ton feedback
Alors pour faire simple
Lance cette macro dans un classeur vierge
Ensuite dans le code de la feuille (clic-droit Visualiser le code)Code:Sub Créer_MFC() Dim Rng As Range Set Rng = [A1:H20] 'adpater ici la plage concernée par la MFC 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
Mettre la procédure évènementielle ci-dessous
VB:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Calculate End Sub
bonjour staple1600,Bonsoir Michest
=>Michest
Merci pour ton feedback
Alors pour faire simple
Lance cette macro dans un classeur vierge
Ensuite dans le code de la feuille (clic-droit Visualiser le code)Code:Sub Créer_MFC() Dim Rng As Range Set Rng = [A1:H20] 'adpater ici la plage concernée par la MFC 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
Mettre la procédure évènementielle ci-dessous
VB:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Calculate End Sub