Macro vba pour rechercher/remplacer [Résolu]

cs_amadou78 2 Messages postés lundi 22 février 2010Date d'inscription 22 février 2010 Dernière intervention - 22 févr. 2010 à 12:53 - Dernière réponse : cs_amadou78 2 Messages postés lundi 22 février 2010Date d'inscription 22 février 2010 Dernière intervention
- 22 févr. 2010 à 14:57
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
Afficher la suite 

Votre réponse

3 réponses

cs_pacadebord 113 Messages postés lundi 31 mars 2003Date d'inscription 19 décembre 2011 Dernière intervention - 22 févr. 2010 à 14:39
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_pacadebord
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 22 févr. 2010 à 14:47
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Molenn
cs_amadou78 2 Messages postés lundi 22 février 2010Date d'inscription 22 février 2010 Dernière intervention - 22 févr. 2010 à 14:57
0
Utile
parfait ça marche
merci à vous deux pour le code et les explications
bon aprem
Commenter la réponse de cs_amadou78

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.