Je te prierai de mettre le langage informatique dans le titre, tel que requis par la charte du forum programmation - pour une meilleure compréhension les uns des autres.
En VBA (Visual Basic for Applications) tu peux faire un programme qui :
pour chaque cellule, recherche la position de la chaîne “hello” (qu’on va nommer [/b]pos[/b]), supprime tous les caractères situés entre la position 0 (le début de la chaîne) et la position ([/b]pos[/b] + 5). Ensuite faudra régler le problème des espaces qui ont été supprimés.
Option Explicit
' sub modulaire pour permettre l'utilisation de celle ci
' pour n'importe quelle colonne et feuille
' A noter que le problème d'espace ne peut être rêglé sans connaitre
' la chaine au préalable ...
Sub reformat_cells(ByVal string_to_search As String, ByVal feuille As String, ByVal column As String, ByVal sz_col_start As String, ByVal sz_col_end As String)
Dim col_start As Integer
Dim col_end As Integer
Dim counter As Integer
Dim curcell As Range
Dim newcell As Range
Dim sz_curCel As String
Dim sz_searchstringpos As Integer
Dim sz_searchstringlen As Integer
Dim sz_newstring As String
col_start = Int(Val(sz_col_start))
col_end = Int(Val(sz_col_end))
For counter = col_start To col_end
' A1:A10 par exemple
sz_curCel = column & counter ' & ":" & column & sz_col_end
Set curcell = Worksheets(feuille).Range(sz_curCel)
' une chaine existe (strcomp est la plus rapide des fonctions de comparaison en VB)
If StrComp(curcell.Text, vbNullString, vbTextCompare) <> 0 Then
sz_searchstringpos = InStr(curcell.Text, string_to_search)
sz_searchstringpos = sz_searchstringpos + Len(string_to_search) - 1
If sz_searchstringpos Then
sz_searchstringlen = Len(curcell.Text)
sz_searchstringlen = sz_searchstringlen
sz_newstring = Right(curcell.Text, sz_searchstringlen - sz_searchstringpos) ' Mid(curcell.Text, sz_searchstringpos, sz_searchstringlen - sz_searchstringpos)
curcell.Value = sz_newstring
End If
End If
Next counter
End Sub
' sub à éxécuter
Sub ask_for_format_cells()
Dim feuille As String
Dim column As String
Dim col_start As String
Dim col_end As String
feuille = Application.InputBox("Saisissez la feuille de reformattage", "Feuille de reformatage")
column = Application.InputBox("Saisissez la colonne de reformattage", "Colone de reformatage")
col_start = Application.InputBox("Saisissez la ligne de départ de reformattage", "Ligne de départ")
col_end = Application.InputBox("Saisissez la ligne de fin de reformattage", "Ligne de fin")
Call reformat_cells("hello", feuille, column, col_start, col_end)
End Sub