Macro Remplacer dans classeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dudumomo

XLDnaute Occasionnel
Bonjour à tous.
Je souhaiterai effectuer une macro qui remplace le mot #Missing par des 0 dans tout mon classeur.

J'ai donc fait la macro :
Cells.Replace What:="#Missing", Replacement:="0", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Malheureusement cela fonctionne seulement sur la feulle et pas dans tout le classeur.
Je dois donc selectionner manuellement dans la fonction remplacer, le mode Classeur.

Existerait il un moyen pour l'incrémenter dans ma macro ?
J'ai testé de selectionner toute les feuilles via ActiveWorkbook.Worksheets.Select
mais ca ne fonctionne pas.

Une idée ?

Merci
 
Dernière édition:
Re : Macro Remplacer dans classeur

Bonjour Dudumomo, bonjour le forum,

Essaie avec une boucle :
Code:
Sub Macro1()
Dim sh As Worksheet
Application.ScreenUpdating = False
For Each sh In Sheets
    sh.Select
    Cells.Replace What:="#Missing", Replacement:="0", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Next sh
Application.ScreenUpdating = True
End Sub
 
Re : Macro Remplacer dans classeur

Bonjour Dudumomo, bonjour le forum,

Application.ScreenUpdating = False masque les changements à l'écran. Cela optimise l'exécution du code. Si tu supprimes cette ligne, tu verras défiler les pages et s'effectuer les remplacements.
Application.ScreenUpdating = True rétablie les choses en réaffichant les changements mais il me semble avoir lu dans le forum que c'était devenu facultatif de le remettre...

Mais mon code peut s'améliorer ainsi, en evitant le Select et par la même occasion les Application.ScreenUpdating :
Code:
Sub Macro1()
Dim sh As Worksheet
For Each sh In Sheets
    sh.Cells.Replace What:="#Missing", Replacement:="0", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
Next sh
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
347
Réponses
2
Affichages
588
A
Réponses
4
Affichages
668
A
Réponses
3
Affichages
639
E
Réponses
5
Affichages
2 K
EDI9366
E
Retour