Microsoft 365 Reporter le texte et sa couleur dans une autre cellule

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 !

Patoche42

XLDnaute Junior
Bonjour,
je souhaiterais copier le texte d'une cellule de la feuille1 avec sa couleur de police dans la feuille "Progr REP."
J'ai réussi à recopier le texte avec tout bêtement un " =Feuil2!N39 " mais je n'arrive pas a faire suivre la couleur de la police.
En utilisant cette méthode j'avais des "0" qui apparaissaient sur les cellules recopier ce que j'ai résolu avec une forme conditionnelle →si =0 le texte sera en blanc.
je vous mets mon fichier en pièce jointe.
Petite précision, je suis complètement ignorant des macros donc si je dois passer par là, merci de me détailler la démarche.
En vous remerciant par avance
 

Pièces jointes

Solution
L'autre solution peut-être plus simple pour toi est de tout récupérer de la cellule source:
VB:
Function ContentAndFontColorFrom(Cellule As Range) As Variant
   'Copie la couleur du texte de la Cellule en paramètre dans la cellule qui appelle la fonction
   Application.Caller.Font.Color = Cellule.Font.Color
   ContentAndFontColorFrom = Cellule.Value
End Function
2020-11-13_080937.jpg
Bonjour,
On ne peut pas faire venir des éléments de format d'une autre cellule par formule.
Il faut faire une fonction personnalisée, transformer le classeur .xlsx en .xslm à cause de la fonction personnalisée VBA nécessaire, puis, l'utiliser dans les formules. Comme elle retourne 0 tu peux l'utiliser en addition.
Par exemple:
2020-11-12_224038.jpg
 

Pièces jointes

bonjour
essaie donc "&" a la place de "+"
VB:
Function ColorFrom(Cellule As Range) As Variant
   'Copie la couleur du texte de la Cellule en paramètre dans la cellule qui appelle la fonction
   Application.Caller.Font.Color = Cellule.Font.Color
ColorFrom = Empty
End Function
 
L'autre solution peut-être plus simple pour toi est de tout récupérer de la cellule source:
VB:
Function ContentAndFontColorFrom(Cellule As Range) As Variant
   'Copie la couleur du texte de la Cellule en paramètre dans la cellule qui appelle la fonction
   Application.Caller.Font.Color = Cellule.Font.Color
   ContentAndFontColorFrom = Cellule.Value
End Function
2020-11-13_080937.jpg
 

Pièces jointes

re
hoh moi j'aime bien l'astuce
j'ai essayé d'intégrer le background aussi mais là ça marche plus je n'en vois pas la raison
VB:
Option Explicit

Function ColorFrom(Cellule As Range, _
                   Optional font_color As Boolean = False, _
                   Optional back_color As Boolean = True) As Variant
'Copie la couleur du texte de la Cellule en paramètre dans la cellule qui appelle la fonction
    With Application.Caller
        If font_color Then .Font.Color = Cellule.Font.Color
        If back_color = True Then .Interior.Color = Cellule.Interior.Color
    End With
    ColorFrom = Empty
End Function

=AB9&colorfrom(AB9;1;1)
 
- 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
17
Affichages
1 K
Retour