Changer formule en vb dans une cellule dans plusieurs feuilles

bou6 -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
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

bou6
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
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