Se connecter avec
S'enregistrer | Connectez-vous

Supression caractères VBA macro excel

Dernière réponse : dans Programmation

Bonjour tout le monde,

Je suis en train de réaliser une application VBA sous excel 2003 et j'arrive pas a faire quelque chose.

Je vous explique :
J'ai une colonne H ou il y a des choses d'écrites comme suit
TEST DESCRIPTION
TEST1 test
... TEST2 test2
TEST3 test4
... ... TEST4 test
... TEST test9
... ... TEST12 t

le problème que j'ai c'est que dans cette colonne je voudrais supprimer les ... et ne garder que le texte
Je voudrais avoir le résultat suivant :

TEST DESCRIPTION
TEST1 test
TEST2 test2
TEST3 test4
TEST4 test
TEST test9
TEST12 t

merci d'avance
Nicolas

Lassé par la pub ? Créez un compte

Bonjour Nicolas
Je m'appelle Iheb et je suis de Tunis.
Essaies cette procédure et fais-moi part de tes problèmes.
Email : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
A bientôt.

Sub ReplaceCar()
Dim P As Range, ch1 As String, ch2 As String, Word As Variant, i As Long

ch1 = InputBox("Sous chaine à modifier") 'Sous-chaine à cible
ch2 = InputBox("A remplacer par") 'Sous-chaine de remplacement
i = 1 ' Pointeur des lignes de la séléction

Set P = Selection ' Soit P la plage à modifier (Une seule colonne)
For Each Word In P
Do
c = InStr(1, Word, ch1)
If c > 0 Then
Word = Left(Word, c - 1) _
+ ch2 _
+ Right(Word, Len(Word) - c - Len(ch1) + 1)
End If
Loop Until c = 0
P.Cells(i, 1) = Word
i = i + 1
Next

End Sub
Expert Programmation

Salut Iheb de Tunis.

Pas d'email, s'il te plaît, ce forum n'est pas un site de rencontre. Les questions et les réponses doivent restées au même endroit : ici.
Par contre, ton code est à présenter entre balise [code][/code], c'est la règle ici.
Mais peut-être postes-tu ici sans avoir pris la peine de lire ce règlement. Je t'invite à le faire rapidement, et à revenir aider les gens. Merci.

En attendant, sois le bienvenu.

  1. Sub ReplaceCar()
  2. Dim P As Range, ch1 As String, ch2 As String, Word As Variant, i As Long
  3. dim WL as string, WR as string
  4.  
  5. ch1 = InputBox("Sous chaine à modifier" ) 'Sous-chaine à cible
  6. ch2 = InputBox("A remplacer par" ) 'Sous-chaine de remplacement
  7. i = 1 ' Pointeur des lignes de la séléction
  8.  
  9. Set P = Selection ' Soit P la plage à modifier (Une seule colonne)
  10. For Each Word In P
  11. Do
  12. c = InStr(1, Word, ch1)
  13. If c > 0 Then
  14. WL= Left(Word, c - 1)
  15. WR=Right(Word, Len(Word) - c - Len(ch1) + 1)
  16. Word = WL+ ch2+WR
  17. End If
  18. Loop Until c = 0
  19. P.Cells(i, 1) = Word
  20. i = i + 1
  21. Next
  22.  
  23. End Sub

Lassé par la pub ? Créez un compte