VBA (ou pas) raccourci pour appliquer couleur remplissage active (menu)

Bonjour à tous,

Après de multiples recherches sans succès, je m'adresse directement à vous pour solliciter votre aide.

Ma demande est très simple :

Je cherche à créer une macro qui reprend et applique la couleur de remplissage choisie préalablement.

Attention, je ne parle pas de reprendre la couleur d'une cellule mais bien de la couleur de remplissage active de l'onglet Accueil/police.

image

Le but est simplement d'affecter par la suite un raccourci pour appliquer la couleur (j'ai déjà un autre raccourci pour supprimer la couleur).

Merci à vous.

PS : Je pensais qu'on pouvait modifier/ajouter des raccourcis mais l'option n'existe plus, donc je contourne le problème avec le VBA des macros personnelles.

Bonjour,

Soit une zone nommée "CouleurChoisie" dans un onglet baptisé "Paramètres".

Dans un module standard, cette procédure :

Sub ReglageCouleur()

    Range("CouleurChoisie").Interior.Color = ActiveCell.Interior.Color

End Sub

Dans le module de votre onglet, l'événement :

Option Explicit

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

        If Target.Count > 1 Then Exit Sub
        Target.Interior.Color = Sheets("Paramètres").Range("CouleurChoisie").Interior.Color

End Sub

Dans la barre d'accès rapide, le bouton vert lançant la procédure ReglageCouleur

capture

Mode opératoire :

  • On se positionne sur une cellule.
  • On choisit la couleur avec le bouton dans le menu Excel.
  • On clique sur le bouton vert pour mémoriser la couleur.

A partir de là, un clic-droit sur une cellule, la met de la couleur choisie.

Bonsoir le fil, bonsoir le forum,

Une autre proposition avec les deux événementielles Workbook_SheetBeforeDoubleClick et Workbook_SheeBeforeRightClick.

La première récupère la couleur d'une cellule au double-clic dans celle-ci, la seconde l'applique à une autre cellule au clic du bouton droit dans celle-ci, ou à une plage en sélectionnant d'abord la plage, puis le clic du bouton droit dans n'importe quelle cellule de celle-ci.

À placer dans le composant ThisWokbook pour que ça agisse même sur des onglets différents :

Option Explicit
Private C As Variant

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
C = Target.Interior.Color
End Sub

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Cancel = True
Target.Interior.Color = C
End Sub

Merci à vous 2, je vais tester tout ça.

Sinon j'ai trouvé le raccourci CTRL+Y qui est pas mal (recopie de la dernière action), tu cliques sur ta couleur et au lieu de devoir cliquer à chaque fois pour mettre en couleur à la suite, tu fais CTRL+Y.

Update ! J'ai finalement trouvé (par hasard) en VBA :

Application.CommandBars.ExecuteMso "CellFillColorPicker"

Pour rappel ça permet d'utiliser la dernière couleur de remplissage utilisée (hors VBA).

Associé à un raccourci, ça peut faire gagner (un peu) de temps !

Rechercher des sujets similaires à "vba pas raccourci appliquer couleur remplissage active menu"