Des formules à modifier, par vba, faisable ?

Orodreth

XLDnaute Impliqué
Bonjour à tous.

Et tout d'abord, mes meilleurs voeux à tout le monde.

Voila mon problème: j'ai plusieurs classeurs que je dois traiter (bon, je les fais un par un pour simplifier).
Dans ces classeurs, j'ai plein de formules à modifier (remplacer "2007" par "2008", etc etc).

Je voudrais savoir s'il est possible de faire une macro qui automatise cela ?
çad qu'elle va chercher toutes les formules, vérifie si, dans ces formules, il y a le texte "2007" et enfin, remplace ce morceau de formule par "2008", à la même place dans la formule ?

Je m'en remets aux experts ET Vba ET formulistes pour m'aider à résoudre ce problème.

(désolé, pas de fichiers joints disponibles)

Merci d'avance,
Orodreth
 

Robert

XLDnaute Barbatruc
Re : Des formules à modifier, par vba, faisable ?

Bonjour Orodreth,

Récupéré avec l'enregistreur de macro, le code ci-dessous devrait faire l'affaire :

Code:
Sub Macro1()
ActiveSheet.UsedRange.Replace What:="2007", Replacement:="2008", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Des formules à modifier, par vba, faisable ?

bonjour Orodreth

Salut Robert

une autre version (A tester ) :

Code:
Sub remplace()
For Each ws In Sheets
 For Each cel In ws.UsedRange
   If Left(cel.Formula, 1) = "=" Then cel.Formula = Replace(cel.Formula, "2007", "2008")
 Next cel
Next ws
End Sub
ne remplace que dans les formules mais dans toutes les feuilles
 

Orodreth

XLDnaute Impliqué
Re : Des formules à modifier, par vba, faisable ?

Bonjour Robert, Edit: Bonjour Pierre Jean

Merci à vous deux pour vos réponses, elles marchent bien.

Merci, Orodreth
 

Discussions similaires


Haut Bas