Effacer texte conditionnel

Résolu
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005 - 19 sept. 2005 à 10:06
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005 - 19 sept. 2005 à 17:44
Slt à tous,

petit pbm : je cherche une macro qui puisse:
chercher dans une colonne où il y a environ 1000 lignes de texte, effacer tout le texte entre parenthèse.
Je m'explique. Par exemple j'ai "Jean Dupont (10 ans)" je voudrais faire en sorte que ma macro m'efface le "(10 ans)".
Ca m'évitera de l'effacer à la main, ce qui me prend 25 minutes...
Si quelqu'un a une idée, qu'il n'hésite pas!

Merci.

Emmanuel

4 réponses

belineo Messages postés 9 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 20 septembre 2005
19 sept. 2005 à 17:09
Un fichier exemple est à ta disposition sur mon porte-document en cliquant ici.

Ci dessous le texte de la procédure:

Sub nettoyage()
colonne = 3 ' N° de colonne à modifier
ligne = 4 ' N° de la première ligne à modifier
texte = ActiveSheet.Cells(ligne, colonne).Value ' valeur de la 1ère cellule
Do While texte <> "" 'Tant que la cellule n'est pas vide
longueur = Len(texte) ' nombre de caractères dans la cellule
Position = 1
car = Left(texte, 1)
Do While car <> "(" And Position <= longueur ' tant que le caractère est <> de (
Position = Position + 1
car = Mid(texte, Position, 1) 'valeur du caractère
Loop ' caractère suivant
If car = "(" Then 'si on est sur un caractère (
newtext = Left(texte, Position - 1) 'on ne garde que les premier caractères
ActiveSheet.Cells(ligne, colonne).Value = newtext ' on modifie la valeur de la cellule
End If
ligne = ligne + 1
texte = ActiveSheet.Cells(ligne, colonne).Value
Loop ' on se positionne sur la ligne suivante pour recommencer


End Sub

J'espère t'avoir rendu service,
Belineo

La violence qu'on se fait pour devenir fidèle ne vaut guere mieux que l'infidélité.
(La Rochefoucauld)
3
belineo Messages postés 9 Date d'inscription lundi 8 août 2005 Statut Membre Dernière intervention 20 septembre 2005
19 sept. 2005 à 11:45
pour quelle type d'appli?( je pense Excel)

Si j'ai bien compris, le principe serait de tester si le caractère "(" est présent dans la chaine, et d'effacer tous les caractères à droite.

La violence qu'on se fait pour devenir fidèle ne vaut guere mieux que l'infidélité.
(La Rochefoucauld)
0
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
19 sept. 2005 à 13:28
Pour Excel en effet.

Tu cerné le sujet : il faudrait que lorsqu'il trouve une ouverture de parenthèse, il l'efface, ainsi que tout le texte à sa droite.

Peux tu m'aider?

Merci d'avance.

Emmanuel
0
cs_emmanuel15 Messages postés 30 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 16 novembre 2005
19 sept. 2005 à 17:44
Merci Bcp.

Bonne journée.

Emmanuel
0
Rejoignez-nous