Mise en forme conditionnelle

freizetagada Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
freizetagada Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je calcule des augmentation ou diminution en % et je souhaiterai que lorsque le % est positif la cellule soit verte et lorsqu'il est négatif la cellule soit rouge.

J'ai créé cette procédure :
Public Sub formatcomp(ByVal sheet As String, ByVal rng As String)
    
    With Worksheets(sheet).Range(rng)
        .FormatConditions.Delete
        .FormatConditions.Add xlCellValue, xlBetween, 0, 1
        With .FormatConditions(1)
            .NumberFormat = "0,00%"
            .Interior.ColorIndex = 4
        End With
        .FormatConditions.Add xlCellValue, xlLess, 0
        With .FormatConditions(2)
            .Interior.ColorIndex = 3
            .NumberFormat = "0,00%"
        End With
    End With
        
End Sub


Mon problème est que lorsque la cellule est vide, elle se colorie en vert or je voudrai qu'elle soit sans fond.

J'ai essayé en rajoutant ça dans ma procédure :

    
    Dim zoneamodifier As Range
    Dim cellule As Range
   
Set zoneamodifier = Range(rng)
    For Each cellule In zoneamodifier
        If IsEmpty(cellule) = True Then
            cellule.Interior.ColorIndex = xlColorIndexNone
        End If
    Next cellule
 


mais cela ne fonctionne pas. Sauriez vous comment faire s'il vous plait ?

Merci :)
A voir également:

4 réponses

marmax Messages postés 114 Date d'inscription   Statut Membre Dernière intervention   6
 
est tu rendre c'est ligne de commande dans quel logiciel ?

0
chewbi47 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Pourquoi veux-tu passer par Vba pour faire de la mise en forme conditionnelle ?
0
Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
vous utilisez quelle version d'excel ? parce que normalement faut pas de vba: c'est un option native du tableur.
0
freizetagada Messages postés 16 Date d'inscription   Statut Membre Dernière intervention  
 
J'utilise Excel 2007.
Je souhaite passer par du langage vba car c'est une procédure intégrée à un programme complet et que dans le fichier il y a d'autre pourcentage qui n'ont pas à être colorié; De plus, les plages de cellules concernées par cette mise en forme conditionnelle ne sont jamais au même endroit lorsque l'on exécute le programme.
Mon programme consiste à importer des données depuis une base de données sql puis de réaliser des calculs sur ces données. Le volume de données variant selon l'entreprise et d'autre critères que l'on sélectionne. Les résultats que je souhaite mettre en forme ne sont donc jamais dans les mêmes cellules.
0