Fonction rechercher/Remplacer

Le
cybertiti®
Salut

Je re-post mon dernier message car il n'a pas l'air d'apparaitre

Je suis a la recherche d'un bout de code pour faire une recherche d'un
mot dans ma feuille 1 et pouvoir le remplacer par un autre mot.(j'ai
essayé avec la fonction find mais je n'y arrive pas)

Pouver vous m'aider

2/ comment faire une recherche sur le classeur entier d'un mot ? dans
edition/rechercher il fait la recherche sur la feuille en cours et
pas tt le classeur. Savez vous comment faire ?

Merci pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4461901
Pour rechercher un mot ou expression dans une feuille et le remplacer
tout en décomptant le nombre de remplacements effectués.

Attention à la méthode Find ... elle contient des paramètres et selon
ce que tu recherches, il faudra les adapter ... un peu de lecture
sur la fonction dans l'aide...

Ceci peut aussi fonctionner sur l'ensemble d'une classeur, il ne
te reste plus qu'à faire une boucle sur l'ensemble des feuilles du classeur.


'---------------------------------
Sub RechercheAvecRespectDeLaCase()

Dim MonString As String, FoundCell As Range, Adr As String
Dim LeString As Variant, Compteur As Long, Pos As Integer

MonString = InputBox(Prompt:= _
"Chaîne recherchée.", _
Title:="Rechercher et Remplacer")
If MonString = "" Then Exit Sub

LeString = Application.InputBox(Prompt:= _
"Valeur de remplacement pour cette chaîne: " _
& """" & MonString & """", _
Title:="Remplacer par")
If LeString = "Faux" Then Exit Sub

With ActiveSheet
Set FoundCell = .Cells.Find(What:=MonString, _
LookIn:=xlValues, LookAt:=xlPart, MatchCase:=True)
If Not FoundCell Is Nothing Then
Adr = FoundCell.Address
Do
Do
Pos = Pos + 1
Pos = InStr(Pos, FoundCell, MonString, vbTextCompare)
If Pos <> 0 Then Compteur = Compteur + 1

Loop Until Pos = 0
FoundCell = Application.Substitute(FoundCell, MonString, LeString)
Set FoundCell = .Cells.FindNext(After:=FoundCell)
If FoundCell Is Nothing Then Exit Do
If FoundCell.Address = Range(Adr).Address Then Exit Do
Loop While Not FoundCell Is Nothing

End If
End With
MsgBox Compteur & " remplacements a été effectué."
Set FoundCell = Nothing
End Sub
--------------------




"cybertiti®"
Salut

Je re-post mon dernier message car il n'a pas l'air d'apparaitre

Je suis a la recherche d'un bout de code pour faire une recherche d'un
mot dans ma feuille 1 et pouvoir le remplacer par un autre mot.(j'ai
essayé avec la fonction find mais je n'y arrive pas)

Pouver vous m'aider

2/ comment faire une recherche sur le classeur entier d'un mot ? dans
edition/rechercher il fait la recherche sur la feuille en cours et
pas tt le classeur. Savez vous comment faire ?

Merci pour votre aide
JB
Le #4461071
Bonjour,

Cells.Replace What:="Mr", Replacement:="M.", LookAt:=xlPart

JB

On 25 avr, 13:59, cybertiti®
Salut

Je re-post mon dernier message car il n'a pas l'air d'apparaitre

Je suis a la recherche d'un bout de code pour faire une recherche d'un
mot dans ma feuille 1 et pouvoir le remplacer par un autre mot.(j'ai
essayé avec la fonction find mais je n'y arrive pas)

Pouver vous m'aider

2/ comment faire une recherche sur le classeur entier d'un mot ? dans
edition/rechercher il fait la recherche sur la feuille en cours et
pas tt le classeur. Savez vous comment faire ?

Merci pour votre aide


Publicité
Poster une réponse
Anonyme