Macro vba pour rechercher/remplacer

Résolu
cs_amadou78 Messages postés 2 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010 - 22 févr. 2010 à 12:53
 JanusStark - 19 févr. 2019 à 10:33
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

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
22 févr. 2010 à 14:47
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
cs_pacadebord Messages postés 113 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 19 décembre 2011 2
22 févr. 2010 à 14:39
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
0
cs_amadou78 Messages postés 2 Date d'inscription lundi 22 février 2010 Statut Membre Dernière intervention 22 février 2010
22 févr. 2010 à 14:57
parfait ça marche
merci à vous deux pour le code et les explications
bon aprem
Rejoignez-nous