Developper une macro pour changer une partie d'une formule

Bonjour a tous,

Je n'y connais absolument rien en macro.

Je me pose la question si je ne pourrais faire une macro pour changer automatiquement une partie d'un formule sur un certain nombre de feuilles et de lignes.

Je m'explique :

j'ai 25 classeurs qui possèdent chacun 450 lignes et dont je dois changer régulièrement pour une centaine (toujours les mêmes) une partie de la formule qui pioche dans un autre fichier.

Exemple :

en C10 j'ai ='F:\info\tarifs\[tarifs.xlsx]Tarifprint'!$G$6

en C16 ='F:\info\tarifs\[tarifs.xlsx]Tarifprint'!$G$7 ....

Je dois changer le $G par $AR par exemple

Une macro dans laquelle je précise toutes les lignes peut-elle donc me faire cela ?

et si oui pouvez vous me dire comment faire.

Merci

Bonsoir,

Teste sur une copie de ton classeur. Attention, ça agit sur toutes les cellules de la feuille active ayant une formule :

Sub Test()

    Dim Cel As Range

    For Each Cel In Cells.SpecialCells(xlCellTypeFormulas)

        Cel.Formula = Replace(Cel.Formula, "$G", "$AR")

    Next Cel

End Sub

Bonsoir Theze,

Merci pour cette réponse rapide.

Le problème pour moi si cela agit sur toutes les cellules ayant une formule c'est que cela va agir sur toute ma feuille car j'ai plein d'autres cellules avec des formules.

D'ou mon idée de lister les lignes que je souhaite modifier.

Bonjour,

Alors pour l'exemple, ici ce sont les cellules des lignes 1, 3 et 6 ayant des formules qui sont visées :

Sub Test()

    Dim Plage As Range
    Dim Cel As Range

    Set Plage = Range("1:1,3:3,6:6")

    For Each Cel In Plage.Cells.SpecialCells(xlCellTypeFormulas)

        Cel.Formula = Replace(Cel.Formula, "$G", "$AR")

    Next Cel

End Sub
Rechercher des sujets similaires à "developper macro changer partie formule"