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

Trier colonne emails avec beaucoup de critères

  • Initiateur de la discussion Initiateur de la discussion juliencro
  • 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 !

J

juliencro

Guest
Bonjour à toutes et à tous,

J'ai vraiment besoin de vos aides pour trier correctement une colonne email qui contient près de 37 000 adresses.

Je dois absolument enlever toutes les adresses non valides.

Il me faudrait une formule pour enlever toutes les adresses qui :
- ne possèdent pas de @
- contiennent les symboles : Â ² Ã © Ä ¨ : / ;
- contiennent des espaces


Le problème est que la colonne doit être "propre" pour pouvoir exporter ce fichier vers le logiciel d'expédition de newsletters.

Si quelqu'un à une solution, je suis preneur sachant que nous perdons énormément de temps à tout rectifié.

En vous remerciant,
 
Re : Trier colonne emails avec beaucoup de critères

Bonjour et bienvenue sur le forum,


Nous aimons bien travailler sur du concret, alors, après la lecture de la charte, la deuxième chose à faire est de joindre un fichier exemple sur lequel nous pourrions travailler.

Mais comme tu es nouveau: la macro ci-dessous traitera toutes les cellules de la colonne A de la feuille active à partir de la ligne 2 jusqu'à la dernière ligne remplie, pour savoir si elle contient une adresse mail. Si ce n'est pas le cas elle rajoute "AAAA Mauvaise adresse: " en début de cellule. Il te restera plus qu'à trier ta colonne en ordre ascendant puis supprimer les lignes idoines.

Attention au temps d'exécution

Code:
Sub TesterAdresses()
Dim c As Range
Dim sh As Worksheet
Dim RegExp As Object
Dim oldCalcMode As XlCalculation
'pour aller plus rapidement
oldCalcMode = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
Set RegExp = CreateObject("vbscript.regexp")
    RegExp.Global = True
    RegExp.Pattern = "^([a-zA-Z0-9_\.\-])+@(([a-zA-Z0-9\-])+\.)+(com|org|net|gov|biz|info|name|aero|fr|be|co.uk|it|es|de|info)+$"
    With ActiveSheet
        For Each c In .Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp))
            Debug.Print c.Row
            If RegExp.Execute(c).Count = 0 Then c = "AAAAA Mauvaie adresse: " & c
        Next
    End With
    
'Rétablir les paramètres application
Application.Calculation = oldCalcMode
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

A+

[Edit] Hello Jocelyn🙂
 
Dernière modification par un modérateur:
Re : Trier colonne emails avec beaucoup de critères

Effectivement Hasco je n'ai pas encore les bons réflexes...

Un grand merci à vous 2 pour vos réponses précises !

Julien.
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…