web-dev-qa-db-fra.com

Excel VBA: fonction pour transformer la cellule active en gras

J'ai la fonction suivante à l'intérieur de mon module.

Function Colorize(myValue)
    ActiveCell.Select
    Selection.Font.Bold = True
    Colorize = myValue
End Function

La cellule qui utilisera cette fonction devrait devenir en gras - cependant, je ne reçois aucun message d'erreur et triste mais vrai, ce n'est pas en gras. Qu'est-ce que je rate?

Merci

13
Shyam

Un UDF ne renverra qu'une valeur qui ne vous permettra pas de modifier les propriétés d'une cellule/feuille/classeur. Déplacez votre code vers un événement Worksheet_Change ou similaire pour modifier les propriétés.

Par exemple

Private Sub worksheet_change(ByVal target As Range)
  target.Font.Bold = True
End Sub
22
osknows

J'utilise

            chartRange = xlWorkSheet.Rows[1];
            chartRange.Font.Bold = true;

pour transformer la police des cellules de la première ligne en gras. Et cela fonctionne, et j'utilise également Excel 2007.

Vous pouvez appeler directement VBA

            ActiveCell.Font.Bold = True

Avec ce code, je crée un horodatage dans la cellule active, avec une police en gras et un fond jaune

           Private Sub Worksheet_SelectionChange(ByVal Target As Range)
               ActiveCell.Value = Now()
               ActiveCell.Font.Bold = True
               ActiveCell.Interior.ColorIndex = 6
           End Sub
1
Dev.Jaap