XL 2016 Appliquer variable Font

dionys0s

XLDnaute Impliqué
Bonjour le forum,

j'aimerais savoir s'il est possible d'appliquer tous les paramètres Font d'une cellule sur une autre.
Le code suivant applique certaines paramètres comme la graisse ou l'italique, mais pas tous (couleur de police par exemple) :
VB:
Let MaCelluleCible.Font = MaCelluleSource.Font
Le code suivant renvoie carrément une erreur
VB:
Set MaCelluleCible.Font = MaCelluleSource.Font

Y a-t-il un moyen différent ? L'idée serait de ne pas avoir un truc du style :

VB:
With MaCelluleCible.Font
    Let .Color = MaCelluleSource.Font.Color
    Let .Bold = MaCelluleSource.Font.Bold
    Let .Name = MaCelluleSource.Font.Name
    Let .Size = MaCelluleSource.Font.Size
    'etc
End With

D'avance, merci pour votre aide
 

job75

XLDnaute Barbatruc
Bonjour dionys0s,

Je ne vois pas d'autre solution que d'étudier toutes les propriétés de la police.

Bien sûr on peut toujours faire :
Code:
MaCelluleSource.Copy
MaCelluleCible.PasteSpecial xlPasteFormats
Application.CutCopyMode = 0
qui copie tous les formats.

A+
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Par contre il faudrait vraiment éviter la répétition de MaCelluleSource. Une solution :
VB:
Option Explicit
Sub Essai()
   FontArray([B1].Font) = FontArray([A1].Font)
   End Sub
Property Let FontArray(ByVal Font As Font, T())
   Font.Color = T(0)
   Font.Bold = T(1)
   Font.Name = T(2)
   Font.Size = T(3)
   End Property
Property Get FontArray(ByVal Font As Font) As Variant()
   FontArray = Array(Font.Color, Font.Bold, Font.Name, Font.Size)
   End Property
 

dionys0s

XLDnaute Impliqué
Bonjour Dranreb, bonjour job75,

Merci pour vos conseils. Malheureusement job75, votre suggestion (PasteSpecial) n'est pas une option pour moi, puisque ma problématique est la suivante : j'ai du texte enrichi sur plusieurs cellules à concaténer en une seule et conserver les formats de chaque caractère.

Dranreb, si ma macro mets trop de temps, je pense que j'appliquerai votre méthode.

Merci à vous.
 

Discussions similaires

Réponses
1
Affichages
1 K
Réponses
9
Affichages
1 K

Statistiques des forums

Discussions
311 721
Messages
2 081 928
Membres
101 842
dernier inscrit
seb0390