Vba colorer cellules

mariiiie -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je voudrais colorer mes cellules en fonction d'une condition voila le code que j'ai utilisé:

If Not IsEmpty(Sheets("donnees").Range("N5")) And Sheets("donnees").[N5] < 65 Then Sheets("donnees").Range("N5").Interior.ColorIndex = 3

mais cela me colore les cellules malgré que les données soient supérieures à 65
help

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Il faudrait peut-être ajouter le traitement à faire si la condition n'est pas respectée que la cellule reprenne sa couleur d'origine.

    Et plus simplement tu peux utiliser un format conditionnel...

    eric
    0
    1. mariiiie
       
      Oki mais je sais pas comment faire je débute et j'ai deja bien galeré pour écrire cette formule
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      If tests Then   
           'traitement si test positif  
      else  
          'traitement si test négatif  
      endif


      ce qui donne dans ton cas :
      Private Sub Worksheet_Change(ByVal Target As Range) 
          If Not IsEmpty(Range("N5")) And [N5] < 65 Then 
              Range("N5").Interior.ColorIndex = 3 
          Else 
              Range("N5").Interior.ColorIndex = xlNone 
          End If 
      End Sub


      Mais si tu ne connais pas les formats conditionnels penche toi dessus...
      menu 'format / mise en forme conditionnelle...' sur excel 2003

      eric
      0
    3. mariiiie
       
      Si j'ai bien compris
      If tests then Sheets("donnees").Range("N5")) And Sheets("donnees").[N5] < 65
      else
      Sheets("donnees").Range("N5")) And Sheets("donnees").[N5] > 65
      endif

      est ce que je me trompe?
      0
    4. mariiiie
       
      J'ai essaye la mise en forme conventionnelle c'est vrai que c'est plus simple!!
      Mais je dois le faire avec vba quand je rentre la formule cela me met un message d'alerte
      0
    5. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      relis le message de 18h52
      0