Boucler sur un Rechercher / Remplacer

Bonjour à tous,

Comment optimiser le code ci-dessous afin de le rendre plus léger à l'utilisation et donc plus rapide car le nombre de "Rechercher / Remplacer" est forcement amené à augmenter avec le temps.

Sub Rechercher_Remplacer()

En_Attente.Show 0
En_Attente.Repaint

Call Gèle_Affichage
Call Déverrouille_Feuille

'Recherche et Remplace les différents textes ci-dessous :
Cells.Replace What:="ADMIN", Replacement:="Admin", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False '1
Cells.Replace What:="ATELIER", Replacement:="Atelier", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False '2

Call Verrouille_Feuille
Call Dégèle_Affichage

Unload En_Attente

End Sub

Je n'ai mis que 2 exemples pour montrer l'idée mais dans le code que j'utilise actuellement j'en ai déjà une cinquantaine.
Merci d'avance pour votre aide.

EvGef

Salut EvGef51,

ces données sont-elles aléatoirement situées, dans une même colonne ?

For x = 3 To Range("C" & Rows.Count).End(xlUp).Row
    Cells(x, 3) = WorksheetFunction.Proper(Cells(x, 3))
Next


A+

Salut Curulis,

Oui c’est aléatoire et c’est regroupé sur 7 colonnes.
c’est un planning hebdomadaire sur 900 lignes.
Je pourrai mettre un fichier simplifié lundi du coup si besoin.
Bonne fin de soirée & bon week end

Salut Curulis,

Désolé pour la réponse tardive,

Ci joint un fichier exemple.
Sur ce lui la fonction "Rechercher / Remplacer" fonctionne très bien et est très fluide car il n'y a que 10 lignes sur 7 colonnes.
Alors le planning initial comporte, lui 900 lignes sur 414 colonnes et 35 "Rechercher / Remplacer"

L'application fonctionne bien mais prends beaucoup de temps. Je chercherai à automatiser cela afin de ne pas avoir à répéter à chaque fois la ligne de fonction.

Merci d'avance pour ton aide

14rech-rempl.xlsm (47.04 Ko)

Salut EvGef,

J'ai bien quelque chose en magasin pour toi mais ce n'est valable que pour un fichier SANS AUCUNE formule !
Un double-clic sur la feuille pour démarrer la macro que tu auras collée dans le module VBA de la feuille concernée.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Dim tTab
'
Cancel = True
tTab = UsedRange.Value
For x = 1 To UBound(tTab, 1)
    For y = 1 To UBound(tTab, 2)
        If tTab(x, y) = "ADM" Then tTab(x, y) = "Admin"
        If tTab(x, y) = "ATEL" Then tTab(x, y) = "Atelier"
    Next
Next
UsedRange.Value = tTab
'
End Sub

Bon, ça, c'est dans le cas idéal où ta feuille ne comporte pas de formules sinon, catastrophe, bien sûr : plus de formules !
Dans ce cas, tu as compris qu'il nous faudrait un fichier plus représentatif du fichier réel !
Quelques dizaines de lignes et de colonnes, que l'on puisse appréhender la rigueur du tableau pour un travail automatisé.


A+

Rechercher des sujets similaires à "boucler rechercher remplacer"