Supprimer texte entre deux caractères plusieurs fois ds une cell [Résolu/Fermé]

Signaler
Messages postés
52
Date d'inscription
mardi 29 juillet 2014
Statut
Membre
Dernière intervention
22 octobre 2014
-
Messages postés
52
Date d'inscription
mardi 29 juillet 2014
Statut
Membre
Dernière intervention
22 octobre 2014
-
Bonjour,

J'ai une fichier Excel dans lequel en colonne J'ai des informations du type :
62%GAU.GAUCHE 34%DROI.DROITE 2%DE.DEVANT 2%DER.DERRIERE

je souhaiterai obtenir en colonne M
62%GAUCHE 34%DROITE 2%DEVANT 2%DERRIERE

J'ai trouvé une fonction
Function parenthese(cellule)
Application.Volatile
pos1 = InStr(cellule, "%")
pos2 = InStr(cellule, ".")
If pos1 > 1 Then
tmp = Left(cellule, pos1 - 1)
End If
If pos2 > 0 Then
tmp = tmp & Mid(cellule, pos2 + 1)
End If
If pos1 + pos2 = 0 Then tmp = cellule
parenthese = Trim(tmp)
End Function

mais elle me supprime le % alors que je souhaiterai le garder et surtout, la fonction ne marche que sur le premier % ***. qu'elle trouve.

Je n'arrive pas à bien l'adapter, est-ce que quelqu'un aurait une idée ?

Merci beaucoup de votre aide !

2 réponses

Messages postés
52
Date d'inscription
mardi 29 juillet 2014
Statut
Membre
Dernière intervention
22 octobre 2014

Une solution a été trouvée, voici le code :

Function parenthese(cellule)
Application.Volatile
temp = cellule
pos1 = InStr(temp, "%")
pos2 = InStr(temp, ".")
While pos1 <> 0 And pos2 <> 0
If pos1 > 1 Then
tmp = Left(temp, pos1)
End If
If pos2 > 0 Then
tmp = tmp & Mid(temp, pos2 + 1)
End If
If pos1 + pos2 = 0 Then tmp = temp
temp = tmp
pos1 = InStr(pos1 + 1, temp, "%")
pos2 = InStr(pos1 + 1, temp, ".")
Wend
parenthese = Trim(tmp)
End Function
bonjour
voila une macro

Sub testMot()
Mots = Range("O9").Value
Mots = Replace(Mots, "GAU.", "")
Mots = Replace(Mots, "DROI.", "")
Mots = Replace(Mots, "DE.", "")
Mots = Replace(Mots, "DER.", "")
Range("O9").Value = Mots
End Sub
a voir si ca te va

A+
Maurice
Messages postés
52
Date d'inscription
mardi 29 juillet 2014
Statut
Membre
Dernière intervention
22 octobre 2014

Bonjour,

Ton message n'a pas été chargé le temps que j'écrive mon message....
Merci beaucoup de ton aide !