Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recuperation des caracteristiques de la police d'une cellule dans une variable

6 réponses
Avatar
PAN GOT
Bonjour,



Dans une macro, je voudrais pouvoir récupérer les caractéristiques de la
police utilisée dans une cellule pour l'appliquer ensuite sur une autre
cellule dans une autre feuille.

Je pensais utiliser deux variables 'font' mais je n'arrive pas à trouver la
bonne syntaxe.



Dim FontCellule01 as font

Dim FontCellule02 as font

FontCellule01= sheets(?RDD?).range (?H2 :O2?).font

Même si je défini la propriété avec .name ou .size par exemple, j'ai
toujours des message d'erreur.

Si quelqu'un avec les quelques lignes de codes comme exemple

Merci d'avance.

6 réponses

Avatar
isabelle
bonjour Pan,

With Range("F1").Font
x1 = .Name
x2 = .Size
x3 = .Strikethrough
x4 = .Superscript
x5 = .Subscript
x6 = .OutlineFont
x7 = .Shadow
x8 = .Underline
x9 = .ColorIndex
End With

isabelle

PAN GOT a écrit :
Bonjour,



Dans une macro, je voudrais pouvoir récupérer les caractéristiques de la
police utilisée dans une cellule pour l'appliquer ensuite sur une autre
cellule dans une autre feuille.

Je pensais utiliser deux variables 'font' mais je n'arrive pas à trouver la
bonne syntaxe.



Dim FontCellule01 as font

Dim FontCellule02 as font

FontCellule01= sheets(?RDD?).range (?H2 :O2?).font

Même si je défini la propriété avec .name ou .size par exemple, j'ai
toujours des message d'erreur.

Si quelqu'un avec les quelques lignes de codes comme exemple

Merci d'avance.





Avatar
PAN GOT
Bonjour,
Encore merci Isabelle, çà marche (j'ai dejà envoyé un message que je ne vois
pas???)
Je me demandais juste si on ne pouvais pas ameliorer ce code. Comme je
recupere la police dans 4 cellules
que je reporte dans une autre feuille d'un autre classeur. J'ai l'impression
que l'on devrait pouvoir reduire ces lignes.
D'avance, merci.

With Range("A2").Font

STYLE1(1) = .Name

STYLE1(2) = .FontStyle

STYLE1(3) = .Size

STYLE1(4) = .Strikethrough

STYLE1(5) = .Superscript

STYLE1(6) = .Subscript

STYLE1(7) = .OutlineFont

STYLE1(8) = .Shadow

STYLE1(9) = .Underline

STYLE1(10) = .ColorIndex

End With



With Range("A3").Font

STYLE2(1) = .Name

STYLE2(2) = .FontStyle

STYLE2(3) = .Size

STYLE2(4) = .Strikethrough

STYLE2(5) = .Superscript

STYLE2(6) = .Subscript

STYLE2(7) = .OutlineFont

STYLE2(8) = .Shadow

STYLE2(9) = .Underline

STYLE2(10) = .ColorIndex

End With



With Range("H2:O2").Font

STYLE3(1) = .Name

STYLE3(2) = .FontStyle

STYLE3(3) = .Size

STYLE3(4) = .Strikethrough

STYLE3(5) = .Superscript

STYLE3(6) = .Subscript

STYLE3(7) = .OutlineFont

STYLE3(8) = .Shadow

STYLE3(9) = .Underline

STYLE3(10) = .ColorIndex

End With



With Range("H3:O3").Font

STYLE4(1) = .Name

STYLE4(2) = .FontStyle

STYLE4(3) = .Size

STYLE4(4) = .Strikethrough

STYLE4(5) = .Superscript

STYLE4(6) = .Subscript

STYLE4(7) = .OutlineFont

STYLE4(8) = .Shadow

STYLE4(9) = .Underline

STYLE4(10) = .ColorIndex

End With
Avatar
isabelle
bonjour Pan,

que veut tu dire par "récupérer", est ce que tu écrit dans une cellule
la valeur de chaque Propriété de Font
ou bien est ce que tu applique le format Font à d'autre cellule ?

isabelle

PAN GOT a écrit :
Bonjour,
Encore merci Isabelle, çà marche (j'ai dejà envoyé un message que je ne vois
pas???)
Je me demandais juste si on ne pouvais pas ameliorer ce code. Comme je
recupere la police dans 4 cellules
que je reporte dans une autre feuille d'un autre classeur. J'ai l'impression
que l'on devrait pouvoir reduire ces lignes.
D'avance, merci.

With Range("A2").Font

STYLE1(1) = .Name

STYLE1(2) = .FontStyle

STYLE1(3) = .Size

STYLE1(4) = .Strikethrough

STYLE1(5) = .Superscript

STYLE1(6) = .Subscript

STYLE1(7) = .OutlineFont

STYLE1(8) = .Shadow

STYLE1(9) = .Underline

STYLE1(10) = .ColorIndex

End With



With Range("A3").Font

STYLE2(1) = .Name

STYLE2(2) = .FontStyle

STYLE2(3) = .Size

STYLE2(4) = .Strikethrough

STYLE2(5) = .Superscript

STYLE2(6) = .Subscript

STYLE2(7) = .OutlineFont

STYLE2(8) = .Shadow

STYLE2(9) = .Underline

STYLE2(10) = .ColorIndex

End With



With Range("H2:O2").Font

STYLE3(1) = .Name

STYLE3(2) = .FontStyle

STYLE3(3) = .Size

STYLE3(4) = .Strikethrough

STYLE3(5) = .Superscript

STYLE3(6) = .Subscript

STYLE3(7) = .OutlineFont

STYLE3(8) = .Shadow

STYLE3(9) = .Underline

STYLE3(10) = .ColorIndex

End With



With Range("H3:O3").Font

STYLE4(1) = .Name

STYLE4(2) = .FontStyle

STYLE4(3) = .Size

STYLE4(4) = .Strikethrough

STYLE4(5) = .Superscript

STYLE4(6) = .Subscript

STYLE4(7) = .OutlineFont

STYLE4(8) = .Shadow

STYLE4(9) = .Underline

STYLE4(10) = .ColorIndex

End With





Avatar
PAN GOT
Bonjour Isabelle

Je cherche à appliquer le format Font à d'autre cellule. Pour être plus
précis, j'ai dans ces cellules un texte qui correspond à l'intitulé d'une
affaire. Comme cet intitulé est défini par le client, qu'il est plus ou
moins long et du coup, quand celui-ci est trop long, l'utilisateur a
tendance à modifier la police pour que tout cela rentre sans changer le
reste de la mise en page.
Attention, çà marche ce que tu m'a envoyé, c'est plus pour essayer de
comprendre. Je pense que la logique devrait peut etre etre la même pour
certains objets comme la cellule?
@+


"isabelle" a écrit dans le message de news:
O46E$
bonjour Pan,

que veut tu dire par "récupérer", est ce que tu écrit dans une cellule la
valeur de chaque Propriété de Font
ou bien est ce que tu applique le format Font à d'autre cellule ?

isabelle

PAN GOT a écrit :
Bonjour,
Encore merci Isabelle, çà marche (j'ai dejà envoyé un message que je ne
vois pas???)
Je me demandais juste si on ne pouvais pas ameliorer ce code. Comme je
recupere la police dans 4 cellules
que je reporte dans une autre feuille d'un autre classeur. J'ai
l'impression que l'on devrait pouvoir reduire ces lignes.
D'avance, merci.

With Range("A2").Font

STYLE1(1) = .Name

STYLE1(2) = .FontStyle

STYLE1(3) = .Size

STYLE1(4) = .Strikethrough

STYLE1(5) = .Superscript

STYLE1(6) = .Subscript

STYLE1(7) = .OutlineFont

STYLE1(8) = .Shadow

STYLE1(9) = .Underline

STYLE1(10) = .ColorIndex

End With



With Range("A3").Font

STYLE2(1) = .Name

STYLE2(2) = .FontStyle

STYLE2(3) = .Size

STYLE2(4) = .Strikethrough

STYLE2(5) = .Superscript

STYLE2(6) = .Subscript

STYLE2(7) = .OutlineFont

STYLE2(8) = .Shadow

STYLE2(9) = .Underline

STYLE2(10) = .ColorIndex

End With



With Range("H2:O2").Font

STYLE3(1) = .Name

STYLE3(2) = .FontStyle

STYLE3(3) = .Size

STYLE3(4) = .Strikethrough

STYLE3(5) = .Superscript

STYLE3(6) = .Subscript

STYLE3(7) = .OutlineFont

STYLE3(8) = .Shadow

STYLE3(9) = .Underline

STYLE3(10) = .ColorIndex

End With



With Range("H3:O3").Font

STYLE4(1) = .Name

STYLE4(2) = .FontStyle

STYLE4(3) = .Size

STYLE4(4) = .Strikethrough

STYLE4(5) = .Superscript

STYLE4(6) = .Subscript

STYLE4(7) = .OutlineFont

STYLE4(8) = .Shadow

STYLE4(9) = .Underline

STYLE4(10) = .ColorIndex

End With







Avatar
isabelle
bonjour Pan,

pourquoi ne pas faire un collageSpécial format ?

Set plg1 = Workbooks("Classeur1").Sheets("Feuil1")
Set plg2 = Workbooks("Classeur2").Sheets("Feuil1")
plg1.Range("A1").Copy
plg2.Range("A1").PasteSpecial Paste:=xlPasteFormats

isabelle

PAN GOT a écrit :
Bonjour Isabelle

Je cherche à appliquer le format Font à d'autre cellule. Pour être plus
précis, j'ai dans ces cellules un texte qui correspond à l'intitulé d'une
affaire. Comme cet intitulé est défini par le client, qu'il est plus ou
moins long et du coup, quand celui-ci est trop long, l'utilisateur a
tendance à modifier la police pour que tout cela rentre sans changer le
reste de la mise en page.
Attention, çà marche ce que tu m'a envoyé, c'est plus pour essayer de
comprendre. Je pense que la logique devrait peut etre etre la même pour
certains objets comme la cellule?
@+


"isabelle" a écrit dans le message de news:
O46E$

bonjour Pan,

que veut tu dire par "récupérer", est ce que tu écrit dans une cellule la
valeur de chaque Propriété de Font
ou bien est ce que tu applique le format Font à d'autre cellule ?

isabelle

PAN GOT a écrit :

Bonjour,
Encore merci Isabelle, çà marche (j'ai dejà envoyé un message que je ne
vois pas???)
Je me demandais juste si on ne pouvais pas ameliorer ce code. Comme je
recupere la police dans 4 cellules
que je reporte dans une autre feuille d'un autre classeur. J'ai
l'impression que l'on devrait pouvoir reduire ces lignes.
D'avance, merci.

With Range("A2").Font

STYLE1(1) = .Name

STYLE1(2) = .FontStyle

STYLE1(3) = .Size

STYLE1(4) = .Strikethrough

STYLE1(5) = .Superscript

STYLE1(6) = .Subscript

STYLE1(7) = .OutlineFont

STYLE1(8) = .Shadow

STYLE1(9) = .Underline

STYLE1(10) = .ColorIndex

End With



With Range("A3").Font

STYLE2(1) = .Name

STYLE2(2) = .FontStyle

STYLE2(3) = .Size

STYLE2(4) = .Strikethrough

STYLE2(5) = .Superscript

STYLE2(6) = .Subscript

STYLE2(7) = .OutlineFont

STYLE2(8) = .Shadow

STYLE2(9) = .Underline

STYLE2(10) = .ColorIndex

End With



With Range("H2:O2").Font

STYLE3(1) = .Name

STYLE3(2) = .FontStyle

STYLE3(3) = .Size

STYLE3(4) = .Strikethrough

STYLE3(5) = .Superscript

STYLE3(6) = .Subscript

STYLE3(7) = .OutlineFont

STYLE3(8) = .Shadow

STYLE3(9) = .Underline

STYLE3(10) = .ColorIndex

End With



With Range("H3:O3").Font

STYLE4(1) = .Name

STYLE4(2) = .FontStyle

STYLE4(3) = .Size

STYLE4(4) = .Strikethrough

STYLE4(5) = .Superscript

STYLE4(6) = .Subscript

STYLE4(7) = .OutlineFont

STYLE4(8) = .Shadow

STYLE4(9) = .Underline

STYLE4(10) = .ColorIndex

End With













Avatar
PAN GOT
Bonjour Isabelle,
étais parti sur cette idée de variables parce que je récupère beaucoup de
données avec des mises en page différentes suivant les feuilles. Il y a des
feuilles que je copie simplement, d'autre que j'ignore et enfin, d'autre ou
pour lesquelles je passais par des tableaux pour ne récupérer que certaines
cellules ou plages. Je ne sais pas si je suis très explicite. Cette façon de
procéder me permet d'être plus clair, je lis tous les données puis je copie
tous les données.
Si j'utilise un collageSpecial Format,
il faut que les instructions
plg1.range("A1").copy
et
plg2.Range("A1").PasteSpecial Paste:=xlPasteFormats
se suivent dans la procédure?
Je vais réécrire cette procédure avec cette méthode pour voir si le code est
plus explicite et comparer les temps de traitement.
Merci beaucoup et merci aussi à MichDenis
@+

Je 'lisais'
"isabelle" a écrit dans le message de news:

bonjour Pan,

pourquoi ne pas faire un collageSpécial format ?

Set plg1 = Workbooks("Classeur1").Sheets("Feuil1")
Set plg2 = Workbooks("Classeur2").Sheets("Feuil1")
plg1.Range("A1").Copy
plg2.Range("A1").PasteSpecial Paste:=xlPasteFormats

isabelle

PAN GOT a écrit :
Bonjour Isabelle

Je cherche à appliquer le format Font à d'autre cellule. Pour être plus
précis, j'ai dans ces cellules un texte qui correspond à l'intitulé d'une
affaire. Comme cet intitulé est défini par le client, qu'il est plus ou
moins long et du coup, quand celui-ci est trop long, l'utilisateur a
tendance à modifier la police pour que tout cela rentre sans changer le
reste de la mise en page.
Attention, çà marche ce que tu m'a envoyé, c'est plus pour essayer de
comprendre. Je pense que la logique devrait peut etre etre la même pour
certains objets comme la cellule?
@+


"isabelle" a écrit dans le message de news:
O46E$

bonjour Pan,

que veut tu dire par "récupérer", est ce que tu écrit dans une cellule
la valeur de chaque Propriété de Font
ou bien est ce que tu applique le format Font à d'autre cellule ?

isabelle

PAN GOT a écrit :

Bonjour,
Encore merci Isabelle, çà marche (j'ai dejà envoyé un message que je ne
vois pas???)
Je me demandais juste si on ne pouvais pas ameliorer ce code. Comme je
recupere la police dans 4 cellules
que je reporte dans une autre feuille d'un autre classeur. J'ai
l'impression que l'on devrait pouvoir reduire ces lignes.
D'avance, merci.

With Range("A2").Font

STYLE1(1) = .Name

STYLE1(2) = .FontStyle

STYLE1(3) = .Size

STYLE1(4) = .Strikethrough

STYLE1(5) = .Superscript

STYLE1(6) = .Subscript

STYLE1(7) = .OutlineFont

STYLE1(8) = .Shadow

STYLE1(9) = .Underline

STYLE1(10) = .ColorIndex

End With



With Range("A3").Font

STYLE2(1) = .Name

STYLE2(2) = .FontStyle

STYLE2(3) = .Size

STYLE2(4) = .Strikethrough

STYLE2(5) = .Superscript

STYLE2(6) = .Subscript

STYLE2(7) = .OutlineFont

STYLE2(8) = .Shadow

STYLE2(9) = .Underline

STYLE2(10) = .ColorIndex

End With



With Range("H2:O2").Font

STYLE3(1) = .Name

STYLE3(2) = .FontStyle

STYLE3(3) = .Size

STYLE3(4) = .Strikethrough

STYLE3(5) = .Superscript

STYLE3(6) = .Subscript

STYLE3(7) = .OutlineFont

STYLE3(8) = .Shadow

STYLE3(9) = .Underline

STYLE3(10) = .ColorIndex

End With



With Range("H3:O3").Font

STYLE4(1) = .Name

STYLE4(2) = .FontStyle

STYLE4(3) = .Size

STYLE4(4) = .Strikethrough

STYLE4(5) = .Superscript

STYLE4(6) = .Subscript

STYLE4(7) = .OutlineFont

STYLE4(8) = .Shadow

STYLE4(9) = .Underline

STYLE4(10) = .ColorIndex

End With