Macro vba pour rechercher/remplacer [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
22 février 2010
-
 JanusStark -
Bonjour,

Je suis débutant en VBA.

voilà mon problème.......je veux créer une macro qui me permettra de rechercher le mot "support" sur plusieurs feuilles d'un même classeur et le remplacer par " ". Aussi, si le mot "support" n'existe pas alors ne rien remplacer.

pour l'instant j'ai réussi à créer seulement ceci:


[b]Sub Macro1
Cells.Replace What:="support", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub/b



.....je ne sais pas comment rajouter la "recherche et le remplacer" sur les autres feuilles du même classeur, et aussi comment appliquer la condition si pas de mot "support" alors ne rien remplacer

merci d'avance

3 réponses

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
Normalement, pour ta condition "si pas de support, ne rien remplacer", tu n'as pas à t'en préoccuper. Si le mot n'est pas trouvé, rien ne sera remplacé n'est-ce pas :)

Pour passer d'une feuille à une autre, il faut que tu précises sur quelle feuille tu travailles. Pour cela, il faut juste donner la feuille avant la cellule :
worksheets("Feuille 1").Cells ....

Et si tu veux faire toutes les feuilles de ton classeur (ou x feuilles) sans les nommer, tu crées une boucle avec son index :

for i = 1 to worksheets.count
worksheets(i).cells ...
next i

Molenn
Messages postés
113
Date d'inscription
lundi 31 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2011
2
Bonjour,

Simplement en s'adressant à chaque feuille l'une après l'autre :
Sub Macro1()
Dim maFeuille As Worksheet
    
    For Each maFeuille In ActiveWorkbook.Worksheets
    
        maFeuille.Activate
        maFeuille.Cells.Replace What:="support", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        
    Next
    
End Sub


maFeuille.activate n'est pas obligatoire, on évite ainsi le clignotement au lancement.

Pac
Etant donné mon niveau de VBA ce code simple et efficace m'a bien rendu service. Merci
Messages postés
2
Date d'inscription
lundi 22 février 2010
Statut
Membre
Dernière intervention
22 février 2010

parfait ça marche
merci à vous deux pour le code et les explications
bon aprem