Mise en forme cellule négative par vba

Résolu

Bonjour;

Actuellement j'utilise se code pour mettre en forme la dernière ligne de mon tableau mais j'aimerais ajouter une condition : si une cellule est négative sur la dernière ligne  j'aimerais que le fond

'permet de mettre en forme l'avant derniere ligne du tableau
deli = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row
Rows("" & deli - 1 & ":" & deli - 1).Font.Bold = False 'Remet l'avant derniere ligne au format normale
Rows("" & deli - 1 & ":" & deli - 1).Font.Size = 9 'Remet l'avant derniere ligne au format 11
Rows("" & deli - 1 & ":" & deli - 1).Font.Color = vbBlack 'Remet l'avant derniere ligne au format noir
'************************************************************************************************
'permet de mettre en forme la derniere ligne du tableau
Rows("" & deli & ":" & deli).Font.Bold = True  ' Met la derniere ligne au format gras
Rows("" & deli & ":" & deli).Font.Size = 9 ' Met la derniere ligne au format 11
Rows("" & deli & ":" & deli).Font.Color = vbBlue ' Met la derniere ligne au format bleu

de la cellule passe en rouge et la police en gras blanc

3 réponses

  1. Re, 

    par contre ce qui me dérange dans ton code, c'est que le formatage des cellules s'applique à la ligne entière soit sur 16384 colonne.

    quel est le nombre de colonne concerné


    0
    1. Bonjour Mike-31

      je viens de tester vos  codes et les deux fonctionnent parfaitement. Merci de votre réactivité

      0
      1. Bonjour,

        En fin de code juste avant ton End Sub colle ce code

        Rows("" & deli & ":" & deli).Select
        For Each Cellule In Selection 'plage à adapter
            If Cellule.Value < 0 Then
            Cellule.Interior.Color = vbRed
            Cellule.Font.Color = vbWhite
            End If
          Next
        ActiveCell.Select


        0
        1. Re,

          sur la base de ton code tu peux remplacer mon code proposé post 1 par

          For Each Cellule In Range("" & deli & ":" & deli)
              If Cellule.Value < 0 Then
              Cellule.Interior.Color = vbRed
              Cellule.Font.Color = vbWhite
              End If
            Next
          0