Bonjour à tous,
Je sollicite votre aide pour automatiser une fonction qui a l'air, comme souvent, toute bête et pourtant je n'ai trouvé aucun exemple sur internet qui corresponde à ce dont j'ai besoin (et clairement je ne suis pas un spécialiste du VBA...).
Je dispose de données qui me sont communiquées dans un format inexploitable sans les "nettoyer".
Il y a en effet des tirets intempestifs au nombre aléatoire dans à peu près toutes les cellules de la base de données.
Evidemment, il serait simple de faire rechercher / remplacer les tirets : c'est ce que j'ai fait (cf. macro dans l'exemple joint).
Sub remplacer_tiret()
Application.ScreenUpdating = False
With Sheets("Feuil1")
.Range("A:D").Cells.Replace What:="-", Replacement:=""
End With
End Sub
Mais le problème c'est que dans le cas où le tiret est unique, il ne faut pas le supprimer car il peut correspondre notamment à un montant négatif ou à un séparateur de mots composés.
En clair, à la macro rechercher / remplacer tous les tirets par rien il faut rajouter la condition suivante s'il y a au moins deux tirets dans la cellule.
Quelqu'un a une idée ?
Merci d'avance !