J'ai créé une macrocomplémentaire dont voici le code
Sub Recherche_remplace()
Set savclass = ActiveWorkbook
Set savfeuil = ActiveSheet
Application.ScreenUpdating = False
Workbooks.Open "c:\source.xls"
savclass.Activate
savfeuil.Select
For Each cellule In ActiveSheet.UsedRange
If Not cellule.FormulaLocal = "" Then
Set c =
Workbooks("source.xls").Worksheets("Feuil1").Range("B1").EntireColumn.Find(cellule.Value, LookIn:=xlValues, searchorder:=xlByRows)
If Not c Is Nothing Then
cellule.FormulaLocal =
Workbooks("source.xls").Worksheets("Feuil1").Range("C" & c.Row).Value
End If
End If
Next cellule
Workbooks("source.xls").Close
Application.ScreenUpdating = True
TitleMsgBox = "Fin de traitement"
MsgBox "Traitement Terminé Sans Erreur", 64, TitleMsgBox
End Sub
elle doit me permettre de rechercher dans la feuille active les termes qui
sont présent dans la colonne B d'un fichier ici nomé source.xls et de
remplacer ces termes par ceux de la colonne C.
C a marche mais bizarrement
exemple
fichier sousce .xls
colonne B colonne C
J150867 TITI
a999 tonton
b43 toto
feuille a traiter:
avant : après application de la macro
J150867 TITI
a999 tonton
b43 toto
la c'est ok c'est ce que je veux
mais si le fichier source devient:
colonne B colonne C
J150867 TITI
aj999 tonton
b453 toto
le resultat sera
avant : après application de la macro
J150867 TITI
aj999 TITI
b453 TITI
car dans aj999 il y a le j de j150867 etque dans b453 il y a le 5 de j150867.
comment faire pour rechercher l'expression complète de la cellule et non le
premier caractère qu'il trouve dans la cellule.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Elliac
Bonjour,
Rajoute : LookAt :=xlWhole à ton Find
Camille
"nico" wrote:
Bonjour,
J'ai créé une macrocomplémentaire dont voici le code
Sub Recherche_remplace()
Set savclass = ActiveWorkbook Set savfeuil = ActiveSheet
Application.ScreenUpdating = False
Workbooks.Open "c:source.xls"
savclass.Activate savfeuil.Select
For Each cellule In ActiveSheet.UsedRange If Not cellule.FormulaLocal = "" Then Set c = Workbooks("source.xls").Worksheets("Feuil1").Range("B1").EntireColumn.Find(cellule.Value, LookIn:=xlValues, searchorder:=xlByRows) If Not c Is Nothing Then cellule.FormulaLocal = Workbooks("source.xls").Worksheets("Feuil1").Range("C" & c.Row).Value End If End If Next cellule
Workbooks("source.xls").Close
Application.ScreenUpdating = True
TitleMsgBox = "Fin de traitement" MsgBox "Traitement Terminé Sans Erreur", 64, TitleMsgBox End Sub
elle doit me permettre de rechercher dans la feuille active les termes qui sont présent dans la colonne B d'un fichier ici nomé source.xls et de remplacer ces termes par ceux de la colonne C.
C a marche mais bizarrement exemple
fichier sousce .xls
colonne B colonne C
J150867 TITI a999 tonton b43 toto
feuille a traiter:
avant : après application de la macro J150867 TITI a999 tonton b43 toto
la c'est ok c'est ce que je veux
mais si le fichier source devient:
colonne B colonne C
J150867 TITI aj999 tonton b453 toto
le resultat sera
avant : après application de la macro J150867 TITI aj999 TITI b453 TITI
car dans aj999 il y a le j de j150867 etque dans b453 il y a le 5 de j150867.
comment faire pour rechercher l'expression complète de la cellule et non le premier caractère qu'il trouve dans la cellule.
suis-je clair???
si qqn a une piste
je vous en remercie d'avance
-- nico
Bonjour,
Rajoute : LookAt :=xlWhole à ton Find
Camille
"nico" wrote:
Bonjour,
J'ai créé une macrocomplémentaire dont voici le code
Sub Recherche_remplace()
Set savclass = ActiveWorkbook
Set savfeuil = ActiveSheet
Application.ScreenUpdating = False
Workbooks.Open "c:source.xls"
savclass.Activate
savfeuil.Select
For Each cellule In ActiveSheet.UsedRange
If Not cellule.FormulaLocal = "" Then
Set c =
Workbooks("source.xls").Worksheets("Feuil1").Range("B1").EntireColumn.Find(cellule.Value, LookIn:=xlValues, searchorder:=xlByRows)
If Not c Is Nothing Then
cellule.FormulaLocal =
Workbooks("source.xls").Worksheets("Feuil1").Range("C" & c.Row).Value
End If
End If
Next cellule
Workbooks("source.xls").Close
Application.ScreenUpdating = True
TitleMsgBox = "Fin de traitement"
MsgBox "Traitement Terminé Sans Erreur", 64, TitleMsgBox
End Sub
elle doit me permettre de rechercher dans la feuille active les termes qui
sont présent dans la colonne B d'un fichier ici nomé source.xls et de
remplacer ces termes par ceux de la colonne C.
C a marche mais bizarrement
exemple
fichier sousce .xls
colonne B colonne C
J150867 TITI
a999 tonton
b43 toto
feuille a traiter:
avant : après application de la macro
J150867 TITI
a999 tonton
b43 toto
la c'est ok c'est ce que je veux
mais si le fichier source devient:
colonne B colonne C
J150867 TITI
aj999 tonton
b453 toto
le resultat sera
avant : après application de la macro
J150867 TITI
aj999 TITI
b453 TITI
car dans aj999 il y a le j de j150867 etque dans b453 il y a le 5 de j150867.
comment faire pour rechercher l'expression complète de la cellule et non le
premier caractère qu'il trouve dans la cellule.
J'ai créé une macrocomplémentaire dont voici le code
Sub Recherche_remplace()
Set savclass = ActiveWorkbook Set savfeuil = ActiveSheet
Application.ScreenUpdating = False
Workbooks.Open "c:source.xls"
savclass.Activate savfeuil.Select
For Each cellule In ActiveSheet.UsedRange If Not cellule.FormulaLocal = "" Then Set c = Workbooks("source.xls").Worksheets("Feuil1").Range("B1").EntireColumn.Find(cellule.Value, LookIn:=xlValues, searchorder:=xlByRows) If Not c Is Nothing Then cellule.FormulaLocal = Workbooks("source.xls").Worksheets("Feuil1").Range("C" & c.Row).Value End If End If Next cellule
Workbooks("source.xls").Close
Application.ScreenUpdating = True
TitleMsgBox = "Fin de traitement" MsgBox "Traitement Terminé Sans Erreur", 64, TitleMsgBox End Sub
elle doit me permettre de rechercher dans la feuille active les termes qui sont présent dans la colonne B d'un fichier ici nomé source.xls et de remplacer ces termes par ceux de la colonne C.
C a marche mais bizarrement exemple
fichier sousce .xls
colonne B colonne C
J150867 TITI a999 tonton b43 toto
feuille a traiter:
avant : après application de la macro J150867 TITI a999 tonton b43 toto
la c'est ok c'est ce que je veux
mais si le fichier source devient:
colonne B colonne C
J150867 TITI aj999 tonton b453 toto
le resultat sera
avant : après application de la macro J150867 TITI aj999 TITI b453 TITI
car dans aj999 il y a le j de j150867 etque dans b453 il y a le 5 de j150867.
comment faire pour rechercher l'expression complète de la cellule et non le premier caractère qu'il trouve dans la cellule.