Bonsoir amis(ies) forumeurs
Stoody j'ai pondu (ne pas me prendre pour une poule par contre) une petite macro.
Option Explicit
Sub Classer_email()
'Déclarer les variables
Dim i As Byte
Dim Der_ligne(50) As Integer
Dim ligne As Integer
Dim position As Byte
Dim extension As String
Dim Colonne As Byte
'Affectation des variables
For i = 1 To 50
Der_ligne(i) = 2
Next i
'Effacer le tableau
Columns("B:AX").ClearContents
'Triage des adresses E-mail
Columns("A:A").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'Créer les extensions
For ligne = 2 To Range("a65535").End(xlUp).Row
position = Application.WorksheetFunction.Find(".", Cells(ligne, 1), 1)
extension = Right(Cells(ligne, 1), Len(Cells(ligne, 1)) - position)
For Colonne = 2 To Range("IV1").End(xlToLeft).Column
If Cells(1, Colonne) = extension Then GoTo Saut:
Next Colonne
Cells(1, Range("IV1").End(xlToLeft).Column + 1) = extension
Saut:
Next ligne
'Triage des extensions
Range("B1:AX1").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight
'Transférer les adresses E-Mail
For ligne = 2 To Range("a65535").End(xlUp).Row
position = Application.WorksheetFunction.Find(".", Cells(ligne, 1), 1)
extension = Right(Cells(ligne, 1), Len(Cells(ligne, 1)) - position)
Colonne = Application.WorksheetFunction.Match(extension, Range("A1:AX1"), 0)
Cells(Der_ligne(Colonne), Colonne) = Cells(ligne, 1)
Der_ligne(Colonne) = Der_ligne(Colonne) + 1
Next ligne
End Sub
A suivre
P.S. Prière d'accuser réception si cela te convient
ou ne convient pas en répondant sur ce Post ... Merci !