fonction if

M

malo

Guest
bonjour à tous et toutes !

Je bidouille plus qu'autre chose sur VBA et je sais qu'on peut simplifier un maximum les lignes de codes.

Bref, j'aimerai juste dire une ligne de code :

si cellule(machin) est supérieure à 0 alors
cellule(machin) en gras ET rouge.

Aujourd'hui j'y arrive, mais je le fais sur bcp de cellules qui ne sont pas côte à côte et ça m'oblige à écrire de trop nombreuses lignes de code car j'écris
une fonction IF pour voir la cellule en gras, et une autre pour l'écriture en rouge.

c'est le ET qui me pose souci.

Merci de votre aide éventuelle.
 
L

L'ignard

Guest
Salt malo

J'ai fait un petit queqchose, regarde si ça te va

If [a1] < 2 Then
Selection.Font.ColorIndex = 3
Selection.Font.Bold = True
End If
If [a1] > 2 Then
Selection.Font.ColorIndex = 1
Selection.Font.Bold = False
End If
End Sub


L'ignard a votre service
 
E

Eric C

Guest
Bonjour le forum
Bonjour Malo & L'Ignard

Ta procédure est bonne mais ne concerne qu'une cellule. Or, tu dis travailler sur de nombreuses cellules non contiguës. Voici ce que je te propose :
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Définition de la plage à surveiller
If Not Intersect(Target, Range("A1:C10")) Is Nothing Then
If Target.Value > 0 Then
Target.Font.ColorIndex = 3
Target.Font.Bold = True
End If
End If
End Sub

Bon Ouikand à toutes & à tous.
@ ++ Eric C
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 862
Membres
103 979
dernier inscrit
imed