cephalotus
XLDnaute Occasionnel
Bonjour le forum,
J'ai tenté de remplacer une "petite" phrase dans la colonne "W" de mon fichier à l'aide de l'outil rechercher/remplacer, mais Excel m'indique que cela n'est pas possible...
J'ai trouvé sur le forum la macro suivante, mais je pense qu'il y a des actions en trop, et que le traitement se fait sur l'ensemble du fichier, alors que j'ai besoin d'effectuer le remplacement seulement sur la colonne "W".
Pourriez-vous m'indiquer si cette macro va fonction et ce qu'il faut éventuellement ajouter et supprimer.
-----------------------------------
Macro trouvée:
----------------------------------->
Sub test()
Dim tableauClasseurs, texteCherche As String, texteRemplace As String, i As Integer, curSheet As Worksheet, tmpWbk As Workbook
' récupérer les classeurs concernés
tableauClasseurs = Application.GetOpenFilename(filefilter:="Fichiers Excel, *.xls; *.xlsx", MultiSelect:=True)
' récupérer le texte à remplacer
texteCherche = CStr(Application.InputBox("texte cherché"))
' récupérer le nouveau texte
texteRemplace = CStr(Application.InputBox("nouveau texte"))
' boucler sur chaque classeur
For i = LBound(tableauClasseurs) To UBound(tableauClasseurs)
' ouvrir le classeur
Set tmpWbk = Application.Workbooks.Open(tableauClasseurs(i))
' boucler sur chaque feuille du classeur
For Each curSheet In tmpWbk.Worksheets
' remplacer les deux textes
curSheet.Cells.Replace what:=texteCherche, replacement:=texteRemplace, lookat:=xlPart
Next curSheet
' sauver et fermer le classeur
tmpWbk.Close True
Next i
End Sub
<-----------------------------------
Je vous remercie par avance pour votre aide, pour vos réponses.
J'ai tenté de remplacer une "petite" phrase dans la colonne "W" de mon fichier à l'aide de l'outil rechercher/remplacer, mais Excel m'indique que cela n'est pas possible...
J'ai trouvé sur le forum la macro suivante, mais je pense qu'il y a des actions en trop, et que le traitement se fait sur l'ensemble du fichier, alors que j'ai besoin d'effectuer le remplacement seulement sur la colonne "W".
Pourriez-vous m'indiquer si cette macro va fonction et ce qu'il faut éventuellement ajouter et supprimer.
-----------------------------------
Macro trouvée:
----------------------------------->
Sub test()
Dim tableauClasseurs, texteCherche As String, texteRemplace As String, i As Integer, curSheet As Worksheet, tmpWbk As Workbook
' récupérer les classeurs concernés
tableauClasseurs = Application.GetOpenFilename(filefilter:="Fichiers Excel, *.xls; *.xlsx", MultiSelect:=True)
' récupérer le texte à remplacer
texteCherche = CStr(Application.InputBox("texte cherché"))
' récupérer le nouveau texte
texteRemplace = CStr(Application.InputBox("nouveau texte"))
' boucler sur chaque classeur
For i = LBound(tableauClasseurs) To UBound(tableauClasseurs)
' ouvrir le classeur
Set tmpWbk = Application.Workbooks.Open(tableauClasseurs(i))
' boucler sur chaque feuille du classeur
For Each curSheet In tmpWbk.Worksheets
' remplacer les deux textes
curSheet.Cells.Replace what:=texteCherche, replacement:=texteRemplace, lookat:=xlPart
Next curSheet
' sauver et fermer le classeur
tmpWbk.Close True
Next i
End Sub
<-----------------------------------
Je vous remercie par avance pour votre aide, pour vos réponses.