cs_emmanuel15
Messages postés30Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention16 novembre 2005
-
19 sept. 2005 à 10:06
cs_emmanuel15
Messages postés30Date d'inscriptionlundi 18 avril 2005StatutMembreDernière intervention16 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!
belineo
Messages postés9Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention20 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