Changer formule en vb dans une cellule dans plusieurs feuilles

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

1 réponse

  1. 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
    1. Contributeur
      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