Bonjour !
j'ai un soucis :
j'ai un code vba qui réorganise des mails par domaine ( fr, com, tn, net,...)
dont chaque domaine est dans une feuille.
ce que je désire c'est avoir tout ces mails de domaine differentes classé dans un tableau, sur une même feuille. auriez-vous une idée, merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 Private Sub transferer1_Click() 'Déclarations Dim wsSource As Worksheet Dim wsNew As Worksheet Dim i As Integer Dim domaine As Variant Dim adresseMail As Variant Dim positionPoint As Integer Dim dicDom As Object Dim lMail As Collection 'Initialisations Set wsSource = Worksheets("Mail Personnel") Set wsSource = Worksheets("Mail Professionel") Set dicDom = CreateObject("Scripting.Dictionary") 'On boucle dans la colonne A pour répertorier tous les mails i = 1 adresseMail = wsSource.Cells(i, "A").Value Do While adresseMail <> "" 'Tant qu'on a des mails 'On récupère la position du dernier point dans le contenu de la cellule positionPoint = InStrRev(adresseMail, ".") 'On en déduit le domaine domaine = Mid(adresseMail, positionPoint + 1, Len(adresseMail) - positionPoint + 1) 'Si le domaine n'existe pas, on le crée If Not dicDom.Exists(domaine) Then Set lMail = New Collection dicDom.Add domaine, lMail End If 'On ajoute le mail dans la collection correspondante Set lMail = dicDom(domaine) lMail.Add adresseMail i = i + 1 adresseMail = wsSource.Cells(i, "A").Value Loop 'Maintenant, on va créer les feuilles correspondantes et entrer les mails For Each domaine In dicDom.Keys 'Création de la feuille Set wsNew = Worksheets.Add() ' wsNew.Name = domaine 'Ajout des mails Set lMail = dicDom(domaine) i = 1 For Each adresseMail In lMail wsNew.Cells(i, "A").Value = adresseMail i = i + 1 Next adresseMail Next domaine Unload Me End Sub
venez en aide d'un frère qui est dans le besoin svp !
Partager