Partager via


Comment : modifier la mise en forme des lignes de feuille de calcul contenant des cellules sélectionnées par programmation

Vous pouvez modifier la police d'une ligne entière contenant une cellule sélectionnée, de manière à ce que le texte soit en gras.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Excel 2013 et Excel 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Pour mettre la ligne active en gras et faire passer en style normal la ligne précédente

  1. Déclarez une variable statique pour garder une trace de la ligne précédemment sélectionnée.

    Static previousRow As Integer = 0
    
    static int previousRow = 0;
    
  2. Récupérez une référence à la cellule active à l'aide de la propriété ActiveCell.

    Dim currentCell As Excel.Range = Me.Application.ActiveCell
    
    Excel.Range currentCell = this.Application.ActiveCell;
    
  3. Mettez la ligne active en gras à l'aide de la propriété EntireRow de la cellule active.

    currentCell.EntireRow.Font.Bold = True
    
    currentCell.EntireRow.Font.Bold = true; 
    
  4. Vérifiez que la valeur actuelle de previousRow n'est pas 0.Un 0 (zéro) indique qu'il s'agit de la première ligne du code.

    If previousRow <> 0 Then
    
    if (previousRow != 0)
    
  5. Vérifiez que la ligne actuelle est différente de la précédente.

    If currentCell.Row <> previousRow Then
    
    if (currentCell.Row != previousRow)
    
  6. Récupérez une référence à une plage représentant la ligne précédemment sélectionnée et définissez-la pour qu'elle ne soit pas en gras.

    Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range)
    rng.EntireRow.Font.Bold = False
    
    Excel.Range rng = (Excel.Range)ws.Rows[previousRow];
    rng.EntireRow.Font.Bold = false;
    
  7. Stockez la ligne actuelle pour qu'elle devienne la ligne précédente pour le test suivant.

    previousRow = currentCell.Row
    
    previousRow = currentCell.Row;
    

L'exemple suivant illustre la méthode complète.

Exemple

Private Sub BoldCurrentRow(ByVal ws As Excel.Worksheet)

    ' Keep track of the previously bolded row.
    Static previousRow As Integer = 0

    ' Work with the current active cell.
    Dim currentCell As Excel.Range = Me.Application.ActiveCell

    ' Bold the current row.
    currentCell.EntireRow.Font.Bold = True

    ' If a pass has been done previously, make the old row not bold.
    ' Make sure previousRow is not 0 (otherwise this is your first pass through).
    If previousRow <> 0 Then

        ' Make sure the current row is not the same as the previous row.
        If currentCell.Row <> previousRow Then

            Dim rng As Excel.Range = DirectCast(ws.Rows(previousRow), Excel.Range)
            rng.EntireRow.Font.Bold = False
        End If
    End If

    ' Store the new row number for the next pass.
    previousRow = currentCell.Row
End Sub
// Keep track of the previously bolded row.
static int previousRow = 0;

private void BoldCurrentRow(Excel.Worksheet ws)
{
    // Work with the current active cell.
    Excel.Range currentCell = this.Application.ActiveCell;

    // Bold the current row.
    currentCell.EntireRow.Font.Bold = true; 

    // If a pass has been done previously, make the old row not bold.
    // Make sure previousRow is not 0 (otherwise this is your first pass through).
    if (previousRow != 0)

        // Make sure the current row is not the same as the previous row.
        if (currentCell.Row != previousRow)
        {
            Excel.Range rng = (Excel.Range)ws.Rows[previousRow];
            rng.EntireRow.Font.Bold = false;
        }

    // Store the new row number for the next pass.
    previousRow = currentCell.Row;
}

Voir aussi

Tâches

Comment : appliquer des styles à des plages dans les classeurs par programmation

Comment : copier des données et une mise en forme d'une feuille de calcul à l'autre par programmation

Concepts

Utilisation des feuilles de calcul

Paramètres optionnels dans les solutions Office