Mise en forme conditionnelle

Fermé
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013 - Modifié par freizetagada le 29/05/2013 à 17:06
freizetagada Messages postés 16 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013 - 29 mai 2013 à 18:01
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 samedi 4 juillet 2009 Statut Membre Dernière intervention 6 octobre 2015 6
29 mai 2013 à 17:10
est tu rendre c'est ligne de commande dans quel logiciel ?

0
chewbi47 Messages postés 12 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 29 mai 2013 1
29 mai 2013 à 17:10
Bonjour,

Pourquoi veux-tu passer par Vba pour faire de la mise en forme conditionnelle ?
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
29 mai 2013 à 17:10
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 lundi 6 mai 2013 Statut Membre Dernière intervention 29 mai 2013
29 mai 2013 à 18:01
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