VBA - Recherche et remplace plusieurs mots possibles

Fredox

XLDnaute Occasionnel
Bonjour le Forum,

J'ai de nouveau besoin d'aide:
Je cherche à rechercher dans une colonne (A) un texte que l'on retrouvrais dans une liste de mot en "index!A2:A10" et le remplacer par ce qu'il y aurais en "index!B2:B10" (toujours remplacer A2 par B2, B2 par B3...)

J'imagine que c'est possible ?

Merci
 
Dernière édition:

Fredox

XLDnaute Occasionnel
Staple1600,

Merci pour le coup de main, ça y est !!! :p
Je partage le code, si ça peut aider.

Code:
Sub Cherche_Remplace()

Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Sheets(1)
Set sh2 = Sheets(3)
Dim DL As Long, DZ As Long, I As Long

DZ = sh1.Range("E" & Rows.Count).End(xlUp).Offset(1).Row
DL = sh2.Range("B" & Rows.Count).End(xlUp).Offset(1).Row
For I = 3 To DL
sh1.Range("E6:E" & DZ).Select
Selection.Replace What:=sh2.Cells(I, 2).Value, Replacement:=sh2.Cells(I, 3).Value, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Next

sh1.Cells(1, DL).Select

End Sub

Avec ce code:
- Je recherche le contenu de la plage E6 à E... (en feuille 1) pour le remplacer
- Je le compare à ce qui est présent en colonne B de la feuille 2
- Et je le remplace (contenu de E6 à E...) par ce qui est ce Feuille 2 colonne C


Merci encore de l'aide.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Fredox

•>Fredox
Tu peux faire plus simple et utiliser BAZ ;)
VB:
Sub Cherche_Remplace_Bis()
Dim sh1 As Worksheet, sh2 As Worksheet, I&
Set sh1 = Feuil16: Set sh2 = Feuil17
With Application
    .ScreenUpdating = False
        For I = 3 To sh1.Range("E" & Rows.Count).End(xlUp).Row
            sh1.Cells(I, "E") = .VLookup(sh1.Cells(I, "E"), [BAZ], 2, 0)
        Next
End With
End Sub

PS: Tu vois que c'est simple, quand le demandeur mouille le maillot ;)
(Et c'est plus gratifiant, pour lui, non ?)
 

Discussions similaires

Réponses
16
Affichages
1 K

Statistiques des forums

Discussions
312 329
Messages
2 087 335
Membres
103 520
dernier inscrit
Azise