Appliquer le format d'une autre cellule grâce à VBA

Bonjour la communauté,

Je démarre à peine avec VBA, et j'ai besoin d'un coup de pouce rapide pour mon boulot :)

Je cherche à appliquer les couleurs des cellules de la colonne "Région" (matrice nommée 'Tunisie') à ceux des cellules de la colonne "Forme" (matrice nommée 'Données').

J'ai déjà une macro VBA qui tourne pour appliquer la couleur des cellules de la colonne "Forme" (matrice 'Tunisie') aux différentes régions de la carte associée.

Ci après le script de la macro :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("Carte").Columns("n").AutoFit
For Each c In [Tunisie]
If c <> "" Then
couleur = c.Interior.Color
ActiveSheet.Shapes(c).Fill.ForeColor.RGB = couleur
End If
Next c

End Sub

Merci d'avance pour vos contributions pour corriger le script pour l'usage souhaité.

Amine

capture

Bonjour,

Joins ton fichier sinon...

Option Explicit

Private Sub Worksheet_Activate()
    Dim c As Range
    Columns("N").AutoFit
    For Each c In Range("Tunisie[Forme]")
        If c.Value <> "" Then
            ActiveSheet.Shapes(c).Fill.ForeColor.RGB = c.Offset(0, 1).Interior.Color
        End If
    Next c
End Sub

Merci oyobrans,

voici le fichier en question

12donnees-carte.xlsm (298.86 Ko)

Bonjour,

Il faut créer un tableau pour les données (Insertion > Tableau), puis le renommer "Tunisie" (Formules > Gestionnaire de noms).

Le code se lance à l'activation de la feuille (passage d'une feuille à l'autre par exemple, ou à l'ouverture du classeur s'il s'ouvre dessus), une fois le fichier enregistré, il n'y en a plus besoin pour colorer la carte si les couleurs ne sont pas amenées à être modifiées. Après, il faut voir ce que tu comptes faire.

Cordialement.

Rechercher des sujets similaires à "appliquer format vba"