Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1751 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  enlever les parenthèses dans un liste de n° de tél

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

enlever les parenthèses dans un liste de n° de tél

n°1322181
Lanstack
Posté le 09-03-2006 à 21:21:45  profilanswer
 

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... »  
mood
Publicité
Posté le 09-03-2006 à 21:21:45  profilanswer
 

n°1323105
Epena
Posté le 10-03-2006 à 22:15:15  profilanswer
 

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

n°1323147
Lanstack
Posté le 10-03-2006 à 23:24:54  profilanswer
 

Merci.


---------------
« Mais j'vous jure, y'a dix minutes, ça marchait très bien... »  
n°1323149
juju2k
Posté le 10-03-2006 à 23:36:23  profilanswer
 

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 :
 


For i = 1 To 10
    Cells(i, 1).Value = Replace(Cells(i, 1).Value, "(", "" )
    Cells(i, 1).Value = Replace(Cells(i, 1).Value, " )", "" )
Next i

n°1323151
Lord Nelso​n
Posté le 10-03-2006 à 23:42:26  profilanswer
 

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+
 

n°1323196
Epena
Posté le 11-03-2006 à 07:33:09  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  enlever les parenthèses dans un liste de n° de tél

 

Sujets relatifs
parcours liste elements dans un formulaireEnvoyer un mail a toute une liste d'adresse de la base de dommées ?
[PERL] Problème avec tableaux / liste imbiqués[RESOLU] PROB liste chainée d'objet push_back()
[PHP5] fonction qui liste les paramètres d'une méthode de classeListe déroulante dynamique
J2EE/Struts - récupérer une liste typée dans une selectBox d'un formListe des partages de fchiers a partir d'appli java
[Résolu]liste de case à cocher[LISP] Enlever les parentheses d'une liste ! [Edit Resolu]
Plus de sujets relatifs à : enlever les parenthèses dans un liste de n° de tél


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR