Autres copier la couleur d'une cellule

  • Initiateur de la discussion Initiateur de la discussion michel1941
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

michel1941

XLDnaute Nouveau
Bonjour à tous,

Je travaille pour des raisons "historiques" avec Excel 2003.
Je voudrais que le changement de couleur dans une colonne se répercute
automatiquement dans une autre en VBA avec ou sans le contenu (c'est égal).
Je joint un exemple de ce que je souhaite.
J'ai un pack de fonctions qui me permet de récupérer le code couleur
de la cellule de départ mais je ne sais pas l'appliquer à celle de destination.
Merci d'avance à ceux qui se pencheront sur mon problème
 

Pièces jointes

Bonjour
Avec cette macro tu copie de la colonne A à la colonne D
VB:
Sub transfert()
  Dim i As Long
  For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    Range("D" & i).Interior.Color = Range("A" & i).Interior.Color
  Next
End Sub
A+ François
 
Bonjour Michel, fanfan,
Ou encore :
VB:
Sub CopieCouleurs()
    Range("A1:A" & [A65500].End(xlUp).Row).Copy
    Range("D1").PasteSpecial Paste:=xlPasteFormats
End Sub
Si on accepte que le format soit copié. ( couleurs, police ... )
 
Bonjour @michel1941 , Fanfan et Sylvain

Ma version en automatique

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i%
If Not Application.Intersect(Target, Range("A1:A35")) Is Nothing Then
    For i = 1 To 35
        Range("D" & i).Interior.Color = Range("A" & i).Interior.Color
        Range("D" & i) = Range("A" & i).Value
    Next i
End If
End Sub

Merci de ton retour

@Phil69970
 
Bonjour
Avec cette macro tu copie de la colonne A à la colonne D
VB:
Sub transfert()
  Dim i As Long
  For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    Range("D" & i).Interior.Color = Range("A" & i).Interior.Color
  Next
End Sub
A+ François

Bonjour Michel, fanfan,
Ou encore :
VB:
Sub CopieCouleurs()
    Range("A1:A" & [A65500].End(xlUp).Row).Copy
    Range("D1").PasteSpecial Paste:=xlPasteFormats
End Sub
Si on accepte que le format soit copié. ( couleurs, police ... )
Un grand merci à tous. La solution de Sylvanu me convient parfaitement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
76
Réponses
1
Affichages
287
Retour