enlever les parenthèses dans un liste de n° de tél - VB/VBA/VBS - Programmation
Marsh Posté le 10-03-2006 à 22:15:15
Bonsoir,
Le code suivant enlève toutes les parenthèses se trouvant sur les cellules 1 à 10 de la troisième colonne de la feuille active :
Sub EnleverParentheses()
Dim Chaine, pos As Integer
For i = 1 To 10
Chaine = Cells(i, 3).Value
pos = InStr(1, Chaine, "(" ) 'repère la première parenthèse entrante
While pos <> 0
Chaine = Left(Chaine, pos - 1) & Mid(Chaine, pos + 1)
pos = InStr(pos, Chaine, "(" ) 'repère la parenthèse entrante suivante
Wend
pos = InStr(1, Chaine, " )" ) 'repère la première parenthèse sortante
While pos <> 0
Chaine = Left(Chaine, pos - 1) & Mid(Chaine, pos + 1)
pos = InStr(pos, Chaine, " )" ) 'repère la parenthèse sortante suivante
Wend
Cells(i, 3).Value = Chaine
Next i
End Sub
bon courage
Epéna
Marsh Posté le 10-03-2006 à 23:24:54
Merci.
Marsh Posté le 10-03-2006 à 23:36:23
Tu peux aussi utiliser la fonction Replace(expression, find, replace[, start[, count[, compare]]]) qui remplace une chaine de caractère par une autre.
Dans ton cas, on cherche à remplacer le caractère '(' par '' (autrement dit, rien).
Exemple :
|
Marsh Posté le 10-03-2006 à 23:42:26
Salut,
Ou bien encore plus court avec cette formule rigolote d'Excel :
=SUBSTITUE(SUBSTITUE(A1;" )";"" );"(";"" )
Mais il est difficile de s'y retrouver entre les parenthèses à enlever et les parenthèses de la formule !
A+
Marsh Posté le 11-03-2006 à 07:33:09
Bonjour,
Je ne connais pas la fonction Replace qui ne semble pas exister en Excel 97. Par contre j'ai découvert la méthode qui m'intéresse beaucoup et qui fonctionne parfaitement. Elle peut permettre d'enlever les parenthèses sans boucle en testant une colonne entière :
On remplace ce code :
For i = 1 To 10
Cells(i, 1).Replace "(", ""
Cells(i, 1).Replace " )", ""
Next i
par celui-ci :
Worksheets("Feuil1" ).Columns("A" ).Replace "(", ""
Worksheets("Feuil1" ).Columns("A" ).Replace " )", ""
Epéna
NB : La fonction Replace, c'est du VB
Marsh Posté le 09-03-2006 à 21:21:45
Bonjour,
j'ai un fichier excel avec une lliste de n° de tél du style (02) 43 07 32 52
Je cherche un solution pour enlever automatiqument les ()
Si vous avez une solutiion, faites-moi signe.....
Lanstack
---------------
« Mais j'vous jure, y'a dix minutes, ça marchait très bien... »