Ecriture formule dans une cellule via une macro

Bonsoir,

j'ai une petit soucis car je voudrais récrire une formule dans une cellule suite à une macro pour faire un reset de la feuille.

Range("C3:D3").Select
ActiveCell.FormulaR1C1 = "=VIERGE!A1"
Range("C3:D3").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
With Selection.Font
.Color = 255
.TintAndShade = 0

Donc =VIERGE!A1 va s'écrire "=@VIERGE!'A1' résultat #NOM?

Comment puis je l'écrire?

Merci pour votre aide.

Et bonne soirée.

olivier

Bonjour,

essayez : ActiveCell.Formula = "=VIERGE!A1" plutôt que ActiveCell.FormulaR1C1 = "=VIERGE!A1"

et pour supprimer les select souvent inutiles on pourrait écrire directement :

Range("C3").Formula = "=VIERGE!A1"

A+

Edit : Bonjour Rag02700

Hello,

Edit: Salut AlgoPlus

Il y a pas mal d'erreurs dans ce que tu proposes.

1- ActiveCell concerne une seule cellule, la cellule active. Du coup si tu indiques cette ligne avant : Range("C3:D3").Select, j'en déduis que tu veux appliquer ta formule non pas à une seule cellule mais aux cellules allant de C3 à D3.

Donc remplacer ActiveCell par Selection

2- .FormulaR1C1 signifie que la formule qui doit suivre doit être de type (comme son nom l'indique) R1C1 ou L1C1 pour les français

Ce que tu nous proposes : =VIERGE!A1, ce n'est pas du style L1C1 mais du style A1.

Donc remplacer .FormulaR1C1 par .FormulaLocal

3- Petite subtilité concernant la gestion du caractère @ dans une formule.

Donc remplacer =@VIERGE! par ='@VIERGE'!

Bonsoir AlgoPlus,

un grand merci, çà fonctionne à merveille.

Bonne soirée.

Olivier

Rechercher des sujets similaires à "ecriture formule via macro"