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
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas