Extraction et trier en colonnes

rophann

XLDnaute Nouveau
Bonjour à tous,

après une longue recherche sur le forum, je ne trouve pas de solution, j'espère que ce que je vais demander est possible:D

J'ai importé dans Excel des données venant d'un fichier texte qui n'était pas correctement formatées, résultat j'ai des idonnées comme l'adresse mail, ou le N de tel qui se trouvent sur plusieurs colonnes, j'ai une belle base d'adresse mais dans le désordre, donc inutilisable.

est il possible de trouver sur toute la feuille les adresses mail grace à l'@ et les copier dans une colonne ?

Pareil pour les codes postaux, trouver toutes les suites de 5 chiffres et les copier dans une colonne ?

et enfin trouver une chaine de caractères donnée (par ex "Tel :") et copier le contenu dans une colonne ?

Merci par avance.

Je vous joins un extrait de ma base
 

Pièces jointes

  • BDD a trier.xls
    17.5 KB · Affichages: 171

hoerwind

XLDnaute Barbatruc
Re : Extraction et trier en colonnes

Bonjour,

Il me semble que ce soit faisable, ... enfin presque pour tout.
Il faudra probablement passer par quelques petites colonnes intermédiaires.

Mais en joignant à ton exemple le résultat tel que tu souhaites le voir mis en page, cela faciliterait la recherche d'une solution et éviterait de passer son temps à te proposer quelque chose qui ne conviendrait pas.
 

rophann

XLDnaute Nouveau
Re : Extraction et trier en colonnes

Bonjour,

Il me semble que ce soit faisable, ... enfin presque pour tout.
Il faudra probablement passer par quelques petites colonnes intermédiaires.

Mais en joignant à ton exemple le résultat tel que tu souhaites le voir mis en page, cela faciliterait la recherche d'une solution et éviterait de passer son temps à te proposer quelque chose qui ne conviendrait pas.

Merci hoerwind

Pour la mise en page, il s'agit d'une BDD toute simple avec colonne nom, adresse, tel, mail etc ... je me disais que créer les colonnes directement sur une autre feuille serait peut être plus judicieux non ?
 

hoerwind

XLDnaute Barbatruc
Re : Extraction et trier en colonnes

Re,

Si la BDD est toute simple (pour toi), les formules ne le seront certainement pas (pour moi).

Et comme je n'ai pas envie de faire plusieurs fois le même travail, suite à de probables remarques de ta part, je souhaite voir cette BDD (le résultat à obtenir), telle que toi tu la vois.
 

jetted

XLDnaute Occasionnel
Re : Extraction et trier en colonnes

Ok ce code va ecrire les tel et adresse email dans la feuil2, je ne vois pas les codes postaux

Code:
Sub test()
    Dim Cell As Range
    Dim R As Range
    i = 1

    Sheets("Feuil1").Select
    myrow = 1
    Set R = ActiveSheet.UsedRange
    'trouve @
    For Each Cell In R
        valeur = Cell.Value
        MyPos = InStr(valeur, "@")
        If MyPos <> 0 Then
            Sheets("Feuil2").Select 'ecrit dans la feuil2
            'myrow = Range("A1:A" & Range("A65536").End(xlUp).Row).Count
            Range("A" & myrow).Select
            ActiveCell.Value = valeur
            myrow = myrow + 1
            Sheets("Feuil2").Select
        End If
    Next
    'trouve TEL
    Sheets("Feuil1").Select
    myrow = 1
    Set R = ActiveSheet.UsedRange
    
    For Each Cell In R
        valeur = Cell.Value
        MyPos = InStr(valeur, "TEL")
        If MyPos <> 0 Then
            Sheets("Feuil2").Select 'ecrit dans la feuil2
            'myrow = Range("A1:A" & Range("A65536").End(xlUp).Row).Count
            Range("B" & myrow).Select
            ActiveCell.Value = valeur
            myrow = myrow + 1
            Sheets("Feuil2").Select
        End If
    Next
End Sub
 

rophann

XLDnaute Nouveau
Re : Extraction et trier en colonnes

OK hoerwind je comprend,

Je remet donc en pj un classeur plus précis,

Pour Jetted j'ai ajouté aussi les codes postaux, je vais essayer ta madro,

Merci à vous 2
 

Pièces jointes

  • Liste de test.xls
    39 KB · Affichages: 366

jetted

XLDnaute Occasionnel
Re : Extraction et trier en colonnes

Voici le code avec code postaux
Code:
Sub test()
    Dim Cell As Range
    Dim R As Range
    i = 1

    Sheets("Feuil1").Select
    myrow = 1
    Set R = ActiveSheet.UsedRange
    'trouve @
    For Each Cell In R
        valeur = Cell.Value
        mypos = InStr(valeur, "@")
        If mypos <> 0 Then
            Sheets("Feuil2").Select 'ecrit dans la feuil2
            'myrow = Range("A1:A" & Range("A65536").End(xlUp).Row).Count
            Range("A" & myrow).Select
            ActiveCell.Value = valeur
            myrow = myrow + 1
            Sheets("Feuil2").Select
        End If
    Next
    'trouve TEL
    Sheets("Feuil1").Select
    myrow = 1
    Set R = ActiveSheet.UsedRange
    
    For Each Cell In R
        valeur = Cell.Value
        mypos = InStr(valeur, "TEL")
        If mypos <> 0 Then
            Sheets("Feuil2").Select 'ecrit dans la feuil2
            'myrow = Range("A1:A" & Range("A65536").End(xlUp).Row).Count
            Range("B" & myrow).Select
            ActiveCell.Value = valeur
            myrow = myrow + 1
            Sheets("Feuil2").Select
        End If
    Next
    'trouve code postaux
Sheets("Feuil1").Select
    myrow = 1
    Set R = ActiveSheet.UsedRange
    
    For Each Cell In R
        valeur = Cell.Value
        numero = IsNumeric(valeur)
        mypos = Len(valeur)
        If mypos = 5 And numero = True Then
            Sheets("Feuil2").Select 'ecrit dans la feuil2
            'myrow = Range("A1:A" & Range("A65536").End(xlUp).Row).Count
            Range("c" & myrow).Select
            ActiveCell.Value = valeur
            myrow = myrow + 1
            Sheets("Feuil2").Select
        End If
    Next
End Sub
 

rophann

XLDnaute Nouveau
Re : Extraction et trier en colonnes

Merci Jetter,
ça marche impec sur le fichier de test, mais sur la BDD complète, la macro se bloque, sur la ligne 48,
là VBA me dit "erreur d'exécution 13" incompatibilité de type. et au débogage la ligne : mypos = InStr(valeur, "@") se met en jeune.

ça te parle ??
 

rophann

XLDnaute Nouveau
Re : Extraction et trier en colonnes

Bonjour à tous,

Je sens, qu' avec la macro de Jetter que je touche au but, mais il y a cette "erreur d'exécution 13", qui bloque, l'un de vous as t'il une idée de ce qui se passe ??

Merci par avance:)
 

Discussions similaires

Réponses
3
Affichages
255
Réponses
6
Affichages
243

Statistiques des forums

Discussions
312 370
Messages
2 087 688
Membres
103 639
dernier inscrit
NIEMASAFI