Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Uniformiser les numero de tel dans une colonne

commercialsandy

XLDnaute Nouveau
Bonjour,

J'ai un fichier qui comporte une colonne fax, celle-ci n'est pas du tout uniforme.
J'ai différent format : 05*67*04*03*** / *5*67*04 03*** / 5670403** / 05670403**
je souhaiterai le même format :0000000000
J'ai essayer par le biais du format de cellule : en sélectionnant personnaliser, texte ou spécial mais je suis obliger de double clique ds la cellule pour qu'il prenne le format que je souhaite !!!! J'ai plus de 9000 lignes &(
Quelqu'un pourrait m'aider ????
Merci de votre aide
 

Pièces jointes

  • fax.xls
    186.5 KB · Affichages: 349
  • fax.xls
    186.5 KB · Affichages: 242
  • fax.xls
    186.5 KB · Affichages: 266

tototiti2008

XLDnaute Barbatruc
Re : Uniformiser les numero de tel dans une colonne

Bonjour Sandy,

Peut-être, en D2

Code:
=SUBSTITUE(SUBSTITUE(SUBSTITUE(C2;" ";"");CAR(160);"");",";"")*1

à recopier vers le bas puis à coller en valeurs en colonne C

Edit : bonjour Gelinotte , très bonne remarque
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : Uniformiser les numero de tel dans une colonne

Bonsoir
Déjà à savoir , lorsque l'on se prépare une espèce de BDD on tente de prévoir le format des données dans les lignes ou colonnes !
Format N° de Tel : au départ ca existe !!! là il est ujn peu tard !!!
Sol : ecrire un petit bout de VBA pour remettre toutr cela dans l'ordre
 

job75

XLDnaute Barbatruc
Re : Uniformiser les numero de tel dans une colonne

Bonjour à tous,

Voir cette macro dans le fichier joint (Alt+F11) :

Code:
Sub Epurer()
Dim tablo, i As Long, t As String, j As Integer
tablo = Range("C2", [C65536].End(xlUp))
For i = 1 To UBound(tablo)
  t = tablo(i, 1)
  For j = Len(t) To 1 Step -1
    If Not IsNumeric(Mid(t, j, 1)) _
      Then t = Application.Replace(t, j, 1, "")
  Next
  If t <> "" Then tablo(i, 1) = Val(t)
Next
[C:C].NumberFormat = "0#"" ""##"" ""##"" ""##"" ""##"
[C2].Resize(UBound(tablo)) = tablo
End Sub
L'exécution est rapide car on utilise un tableau VBA.

Testé sur 10440 lignes avec Win XP/Excel 2003 => 0,5 seconde.

A+
 

Pièces jointes

  • Epurer(1).xls
    207 KB · Affichages: 136

laurent950

XLDnaute Accro
Re : Uniformiser les numero de tel dans une colonne

Bonsoir le Fil le forum,

Un solution :

en cas de doute sur la saisie d'un numéro de fax comme exemple :

37797771188 = La macro detecte est place se message "Vérifier L'entrée"

Il y a peu d'erreur

VB:
Sub test()

Dim Tabl()
Tabl = Range("C2:C523")
ReDim Preserve Tabl(1 To UBound(Tabl), 1 To 2)

' Suppression des espaces

For i = 1 To UBound(Tabl)
If Tabl(i, 1) Like "*,*" Then
T = Replace(CStr(Tabl(i, 1)), ",", "")
Tabl(i, 2) = T
Else
T = Replace(CDbl(Tabl(i, 1)), " ", "")
Tabl(i, 2) = T
End If
T = Empty
Next i

' Zéro devant le numéro
For i = 1 To UBound(Tabl)
If Len(Tabl(i, 2)) = 9 Then
Tabl(i, 2) = CStr("'0" & Tabl(i, 2))
ElseIf Len(Tabl(i, 2)) = 10 Then
Tabl(i, 2) = CStr("'" & Tabl(i, 2))
Else
Tabl(i, 2) = "Vérifier L'entrée"
End If
T = Empty
Next i

Range("D2").Resize(UBound(Tabl, 1)) = Application.Index(Tabl, , 2)

End Sub

En espérent répondre à votre demande, au plaisir de vous lire.

Laurent
 

Pièces jointes

  • fax.xls
    183.5 KB · Affichages: 102
  • fax.xls
    183.5 KB · Affichages: 127
  • fax.xls
    183.5 KB · Affichages: 115
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…