"remplacer par" selon critères

gilles21

XLDnaute Nouveau
bonjour,

je cherche à faire plusieurs 'remplacer par' dans toute la feuil1 selon les critères suivants:

le 1er 'remplacer par': remplacer [valeur de la cellule A1 de la feuil2] par [valeur de la cellule B1 de la feuil2]

le 2eme 'remplacer par' : remplacer [valeur de la cellule A2 de la feuil2] par [valeur de la cellule B2 de la feuil2]

et ainsi de suite jusqu'à ce que la cellule Ax de la feuil2 soit vide

est-ce possible?
merci pour votre aide

gilles ;)
 

ChTi160

XLDnaute Barbatruc
Salut Gilles
y a pas une erreur tu parles de la feuille1 et tu fais les changements uniquement en feuille 2
il dit gilles
je cherche à faire plusieurs 'remplacer par' dans toute la feuil1 selon les critères suivants:

le 1er \\'remplacer par\\': remplacer [valeur de la cellule A1 de la feuil2] par [valeur de la cellule
B1 de la feuil2]

le 2eme \\'remplacer par\\' : remplacer [valeur de la cellule A2 de la feuil2] par [valeur de la
cellule B2 de la feuil2]
et
si j'ai bien compris tu remplaces les données de la colonne A feuille2 par celles de la colonne B feuille 2 ???
y doit y avoir un truc
merci d'éclairer!!!!
 

gilles21

XLDnaute Nouveau
Re:\"remplacer par\" selon critères

merci pour ton interet, ChTi160 :)

les 'remplacer par' concernent la feuille 1, mais à chaque fois, les 2 valeurs utilisées (1- rechercher 2-remplacer) sont issues de la feuille 2 (colones A et B, lignes 1 à x).

concretement:

je me positionne en feuille 1

pour le 1er 'remplacer par'

- dans le champ Rechercher
je voudrai mettre le contenu de la cellule feuil2!A1
- dans le champ Remplacer par
je voudrai mettre le contenu de la cellule feuil2!B1
puis, remplacer tout (en feuille1)

pour le 2eme 'remplacer par'

- dans le champ Rechercher
je voudrai mettre le contenu de la cellule feuil2!A2
- dans le champ Remplacer par
je voudrai mettre le contenu de la cellule feuil2!B2
puis, remplacer tout

et ainsi de suite jusqu'à ce que la cellule feuil2!Ax (et feuil2!Bx)
soit vide

Message édité par: gilles21, à: 10/06/2005 17:07
 

ChTi160

XLDnaute Barbatruc
Re Gilles
ne peux tu pas mettre un fichier zip - de 50ko sans caractères spéciaux avect quelques ligne et le résultat voulu cela pour une meilleur compréhension
Tu veux quoi une macro qui passe en revue la colonne A de la Feuille 1 et en fonction de la comparaison avec la colonne A de la feuille 2 mettre la value de la colone B de la feuille 2 dans la colonne B de la feuille 1
c'est ça dit moi????
 

ChTi160

XLDnaute Barbatruc
Re:\"remplacer par\" selon critères

re j'ai sûrement pas compris, mais j'ai fais celà
la macro recherche en colonne A feuille1 si = valeur colonne A feuille2
si oui je remplace colonne A feuille1 par la valeur de colonne B feuille2
Code:
Sub remplace()
Dim derlgn As Integer, L As Integer, L2 As Integer
Dim Tabl As Variant
Dim tabl2 As Variant
Dim ws As Worksheet
Dim ws2 As Worksheet
Set ws = Worksheets('Feuil1')
Set ws2 = Worksheets('Feuil2')
With ws2
   derlgn = .Range('A65536').End(xlUp).Row
     Tabl = .Range(.Cells(2, 1), .Cells(derlgn, 2)).Value
End With
With ws
 derlgn = .Range('A65536').End(xlUp).Row
 For L2 = 1 To UBound(Tabl, 1)
   For L = 2 To derlgn
     If .Cells(L, 1) = Tabl(L2, 1) Then 'si je trouve A2 =  feuille2 A2

        .Cells(L, 1) = Tabl(L2, 2) 'je remplace par feuille2 B2
     End If
   Next
 Next
 
End With

End Sub
tiens moi au courant

Message édité par: Chti160, à: 10/06/2005 18:23
 

gilles21

XLDnaute Nouveau
oups, j'avais pas zipé :eek: [file name=remplace.zip size=1726]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/remplace.zip[/file]
 

Pièces jointes

  • remplace.zip
    1.7 KB · Affichages: 24
  • remplace.zip
    1.7 KB · Affichages: 23
  • remplace.zip
    1.7 KB · Affichages: 27

gilles21

XLDnaute Nouveau
Re:

ChTi160 écrit:
la macro recherche en colonne A feuille1 si = valeur colonne A feuille2
si oui je remplace colonne A feuille1 par la valeur de colonne B feuille2

merci, c'est presque ça, mais à étendre à toute la feuille1:

la macro recherche dans toutes les cellules de feuille1 si = valeur colonne A feuille2
si oui je remplace dans toutes les cellules de feuille1 par la valeur de colonne B feuille2

j'ai essayé de bidouiller ta macro dans ce sens, mais je ne suis arrivé à rien :huh:

a+

gilles

;)
 

ChTi160

XLDnaute Barbatruc
Re:

Salut Gilles
Bonjour le Forum
une autre version à tester

Code:
Sub remplaceAll()
 
Dim derlgn As Integer, L As Integer, L2 As Integer
Dim Tabl As Variant
Dim ws As Worksheet
Dim ws2 As Worksheet
Dim C As Range
Dim firstAddress As String
Set ws = Worksheets('Feuil1')
Set ws2 = Worksheets('Feuil2')
Application.ScreenUpdating=False
With ws2 'feuille 2
   derlgn = .Range('A65536').End(xlUp).Row
     Tabl = .Range(.Cells(2, 1), .Cells(derlgn, 2)).Value
End With
With ws 'feuille 1
 derlgn = .Range('A65536').End(xlUp).Row
 For L2 = 1 To UBound(Tabl, 1)
'    For L = 2 To derlgn
   On Error Resume Next
Set C = .Cells.Find(what:=Tabl(L2, 1), LookAt:=xlWhole)
If Not C Is Nothing Then 'si je trouve l'équivalent de Feuille 2 A
  firstAddress = C.Address
  Do
    C = Tabl(L2, 2) 'je remplace par feuille2 B
    Set C = .Cells.FindNext(C)
  Loop While Not C Is Nothing And C.Address <> firstAddress
End If
 
Next
 On Error GoTo 0
 
End With
Application.ScreenUpdating=True

End Sub

tiens moi au courant

New edition
j'ai rajouté
Application.ScreenUpdating=False
et
Application.ScreenUpdating=True

Message édité par: ChTi160, à: 11/06/2005 15:01
 

gilles21

XLDnaute Nouveau
Re:

ça fonctionne parfaitement :woohoo:
tu es une épée, un cador, comme on dit dans les tontons flingueurs :)
je te remercie beaucoup pour le temps que tu m'as consacré, et je suis sur que cette superbe macro pourra etre utile à d'autres que moi

gilles ;)
 

Discussions similaires

Réponses
4
Affichages
236

Membres actuellement en ligne

Statistiques des forums

Discussions
312 379
Messages
2 087 764
Membres
103 661
dernier inscrit
fcleves