Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fonction rechercher/Remplacer

2 réponses
Avatar
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=E9 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

2 réponses

Avatar
MichDenis
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®" a écrit dans le message de news:

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
Avatar
JB
Bonjour,

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

JB

On 25 avr, 13:59, cybertiti® wrote:
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