Mise en forme cellule négative par vba

Résolu
Bourrique66 Messages postés 166 Statut Membre -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -

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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       

      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
  2. Bourrique66 Messages postés 166 Statut Membre 2
     

    Bonjour Mike-31

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

    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    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