Comment classer des numéros de téléphones

Thomas124

XLDnaute Nouveau
Bonjour,
Dans un fichier excel J"ai dans une colonne A des numéros de téléphone dans un format 6XXXXXXXX, 1XXXXXXXX, 2XXXXXXXX, 3XXXXXXXX, bien entendu j ai plusieurs colonnes.
J ai besoin de mettre tous les numeros commencant par 6 dans une colonne differente.
La fonction me prendrait du temps,
J aurais besoin d une formule parcourant la colonne ou il a les numeros de telephone, et des que la formule rencontre un numero commecant par 6, elle supprime automatiquement le numéro dans cette colonne et elle va remplir la colonne mobile
 

Victor21

XLDnaute Barbatruc
Bonjour, Thomas124.

Une formule ne supprimera jamais un numéro (ni autre chose) dans une colonne différente.
Pour extraire une chaîne de chiffres commençant par 6, vous pouvez par exemple utiliser les fonctions :
=si(gauche(lachaine;1)="6";lachaine;"")
=si(stxt(lachaîne;1;1)="6";lachaîne,"")
A recopier vers le bas.
Edit : Non testé et corrigé
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Thomas124, Patrick, sixair,

Voyez le fichier joint et cette macro :
VB:
Sub Sortir_les_6()
Dim tablo, resu(), i&, j%, n2&, n1&
With Feuil1 'CodeName de la feuille, à adapter
    tablo = .[A1].CurrentRegion.Resize(, 2)
    ReDim resu(1 To 2 * UBound(tablo), 1 To 2)
    For i = 2 To UBound(tablo) '2 car en-têtes
        For j = 1 To 2 '2 colonnes
            If Left(tablo(i, j), 1) = 6 Then
                n2 = n2 + 1
                resu(n2, 2) = tablo(i, j)
            ElseIf tablo(i, j) <> "" Then
                n1 = n1 + 1
                resu(n1, 1) = tablo(i, j)
            End If
    Next j, i
    '---restitution---
    n1 = IIf(n1 > n2, n1, n2)
    If .FilterMode Then .ShowAllData 'si la feuille est filtrée
    With .[A2] 'cellule à adapter
        If n1 Then .Resize(n1, 2) = resu
        .Offset(n1).Resize(Rows.Count - n1 - .Row + 1, 2).ClearContents 'RAZ en dessous
    End With
    With .UsedRange: End With 'actualise la barre de défilement verticale
End With
End Sub
Utilisant des tableaux VBA elle est très rapide => 0,5 seconde chez moi avec 100 000 numéros.

A+
 

Pièces jointes

  • Sortir les 6(1).xlsm
    24.8 KB · Affichages: 20

Discussions similaires

Réponses
7
Affichages
524

Statistiques des forums

Discussions
312 196
Messages
2 086 088
Membres
103 116
dernier inscrit
kutobi87