j'aurais voulu savoir s'il était possible d'écrire une macro qui en parcourant chaque cellule dès que l'on retrouve la chaine de caractère "-BB", "-BG", "-BR"...on efface la chaine de caractère et ce qu'il y a après de façon a garder seulement ce qu'il y a devant?
j'ai essayé en écrivant ce genre de code mais j'arrive pas a trouver une solution :
Dim cellule As Range, valeur As String
On Error Resume Next
For Each cellule In Range("d2", Range("d65000").End(xlUp))
valeur = "": valeur = Application.WorksheetFunction.Find("-BB", cellule, 1)
If valeur <> "" Then cellule.Offset(0, 0) = "???"
merci pierre jean ca a l'air de marcher nikel t'as solution merci beaucoup
juste par curiosité et au cas ou jdevrais la réutiliser plus tard, pourrait tu me donnais des explications sur les lignes de codes suivantes
x = InStr(cellule, "-")
cellule.Value = Left(cellule, x - 1)
la première ligne doit surement scruter chaque case pour voir si la chaine de caractères demandée est présente mais jvoudrais comprendre le " left(cellule, x-1)"
merci
x est le numero du signe - dans le contenu de la cellule
on enleve 1 et l'on obtient la longueur du nouveau mot
on remplace le contenu de la cellule par ses x-1 premiers caracteres a gauche
ceci pour chaque cellule de la plage D2 jusqu'a la derniere ligne non vide de la colonne D