Changer formule en vb dans une cellule dans plusieurs feuilles

Fermé
bou6 - 15 sept. 2015 à 13:01
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 16 sept. 2015 à 08:25
Bonjour,

j'ai un classeur avec une centaine de page je veux écrire un script VBA qui fait que la cellule A1 de chaque page reçoit une formule;j'ai trouvé ça sur le net

range("A1").formula = "=maFormule"

Pourtant avec ça je vais passer par les pages un à un et exécuter la macro, je veux bien que ça sera automatique.

Merci d'avance
A voir également:

1 réponse

Bonjour,

J'ai trouvé la solution en fait il faut juste rajouter une boucle qui parcours tous les feuilles,voici ma macro

Sub WorksheetLoop2()

' Declare Current as a worksheet object variable.
Dim Current As Worksheet

' Loop through all of the worksheets in the active workbook.
For Each Current In Worksheets

Current.Range("A1").Formula = "=MaFormmule"
Next
End Sub

Pourtant j'ai fait ca ca n'a pas marche
Current.Range("A1").Formula = "=RECHERCHEV(B2;'Reference'!B$1:H478;3;FAUX)"

Est ce que vous avez une idée?
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
16 sept. 2015 à 08:25
Bonjour

Current.Range("A1").Formulalocal = "=RECHERCHEV(B2;'Reference'!B$1:H478;3;FAUX)" 

mais pourquoi une boucle ?

Avec l'engistreur de macro, tu sélectionne la 1° feuille et en maintenant la touche "maj enfoncée tu écris la formule

un exemple de ce que tu obtiens
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
Sheets("Feuil1").Activate
ActiveCell.FormulaR1C1 = "=R[1]C+R[1]C[1]"

tu peux remplacer
ActiveCell.FormulaR1C1
peu explicite à mon avis
par
Sheets("Feuil1").Activate
ActiveCell.Formulalocal="=A2+B2"

mais le + simple est de ne pas utiliser VBA: "avant de penser VBA, penser Excel" :o)
0