OVH Cloud OVH Cloud

recopier des formats en VBA

2 réponses
Avatar
Bourby
bonjour,

pour faire une sauvegarde dans un onglet,
je sais me passer de copier-coller en écrivant:
shSauvegarde.Cells(i, j) = Cells(i, j)
Mais pour les formats, je ne sais pas comment éviter
Cells(i, j).Copy
shSauvegarde.Cells(i, j).PasteSpecial Paste:=xlFormats
qui est très lent, même avec Calculation=xlCalculationManual.

Comment faire sans avoir une infinité de lignes de code
(pour le gras, les bordures, l'intérieur, etc....)

d'avance merci.

Bourby

2 réponses

Avatar
ru-th
Salut

Une 1ere approche
Sub Macro1()
[c1].NumberFormatLocal = [A1].NumberFormatLocal
[c1].Interior.ColorIndex = [A1].Interior.ColorIndex
[c1].Borders.LineStyle = [A1].Borders.LineStyle
End Sub


a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Bourby" a écrit dans le message de
news:
bonjour,

pour faire une sauvegarde dans un onglet,
je sais me passer de copier-coller en écrivant:
shSauvegarde.Cells(i, j) = Cells(i, j)
Mais pour les formats, je ne sais pas comment éviter
Cells(i, j).Copy
shSauvegarde.Cells(i, j).PasteSpecial Paste:=xlFormats
qui est très lent, même avec Calculation=xlCalculationManual.

Comment faire sans avoir une infinité de lignes de code
(pour le gras, les bordures, l'intérieur, etc....)

d'avance merci.

Bourby




Avatar
michdenis
Bonjour Bourby,

Cells(i, j).Copy shSauvegarde.Cells(i, j)

La méthode Copy de l'objet Range , copie aussi le format de la cellule sauf la hauteur et la largeur de la cellule
d'origine.


Salutations!



"Bourby" a écrit dans le message de news:
bonjour,

pour faire une sauvegarde dans un onglet,
je sais me passer de copier-coller en écrivant:
shSauvegarde.Cells(i, j) = Cells(i, j)
Mais pour les formats, je ne sais pas comment éviter
Cells(i, j).Copy
shSauvegarde.Cells(i, j).PasteSpecial Paste:=xlFormats
qui est très lent, même avec Calculation=xlCalculationManual.

Comment faire sans avoir une infinité de lignes de code
(pour le gras, les bordures, l'intérieur, etc....)

d'avance merci.

Bourby