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

  • Initiateur de la discussion Initiateur de la discussion commercialsandy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

commercialsandy

Guest
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

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
 
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
 
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

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

Dernière édition:
Re : Uniformiser les numero de tel dans une colonne

Merci à tous pour votre aide !
J'ai opté pour la solution le plus simple selon mes connaissances.
Mon fichier est uniforme ! YES
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

M
Réponses
9
Affichages
843
matthieu69
M
C
Réponses
4
Affichages
3 K
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…