Supression caractères VBA macro excel

  • Auteur de la discussion nico80310
  • Date de début

nico80310

Nouveau membre
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

 

zeb

Modérateur
Oui, et ?

[fixed]
Pour toutes les cellules de la colonne H,
Tant Que Debut(Cellule) = "..." Faire Cellule = Droite(Cellule)
[/fixed]
 

Iheb_01

Nouveau membre
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
 

zeb

Modérateur
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:
[[i]/[/i]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.
 

Iheb_01

Nouveau membre
Code:
Sub ReplaceCar()
Dim P As Range, ch1 As String, ch2 As String, Word As Variant, i As Long
dim WL as string, WR as string
 
   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
           WL= Left(Word, c - 1)
           WR=Right(Word, Len(Word) - c - Len(ch1) + 1)
           Word = WL+ ch2+WR
        End If
      Loop Until c = 0
      P.Cells(i, 1) = Word
      i = i + 1
   Next

End Sub
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 055
Membres
1 586 282
Dernier membre
Yannick3553
Partager cette page
Haut