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
| Option Explicit
Private Sub Ajout1_Click()
Transfere Me.TextBox1.Text, True
End Sub
Private Sub Ajout2_Click()
Transfere Me.TextBox2.Text, False
End Sub
'Perso=True: mail personnel, Perso=False: Mail professionnel
Private Sub Transfere(ByVal LeMail As String, ByVal Perso As Boolean)
Dim NomFeuille As String, Tpe As String
NomFeuille = IIf(Perso, "Mail Personnel", "Mail Professionnel")
Tpe = IIf(Perso, "Professionnel", "Personnel")
If LeMail <> "" Then
If isMailPerso(LeMail) = Perso Then
With Worksheets("Mail " & Tpe)
If Nouveau(.Name, LeMail) Then
'insertion de la valeur de la zone de texte (textbox1 représentant le nom de la zone de texte)
.Cells(.Rows.Count, 1).End(xlUp)(2) = LeMail
MsgBox "Enregistrement de l'adresse Mail créé avec succès"
Else
MsgBox "Destinataire existe déjà"
End If
End With
Else
MsgBox "Ceci est un destinataire " & Tpe & Chr(10) & "Veuillez saisir l'adresse mail dans la rubrique appropriée", vbExclamation + vbOKOnly
End If
Else
MsgBox "Vous n'avez rien saisi;" & Chr(10) & "Veillez entrer un mail! "
End If
End Sub
Private Function isMailPerso(ByVal Dest As String) As Boolean
Dim ISPPerso As String
Dim i As Integer
ISPPerso = ";yahoo;gmail;hotmail;live;voila;laposte;aol;bouygtel;crocomail;caramail;" 'le ; à la fin est nécessaire
Dest = Mid(Dest, InStr(Dest, "@") + 1)
Dest = Left(Dest, InStr(Dest, ".") - 1)
isMailPerso = InStr(ISPPerso, ";" & Dest & ";") > 0
End Function
Private Function Nouveau(ByVal ShName As String, ByVal Dest As String) As Boolean
Nouveau = Application.CountIf(Worksheets(ShName).Range("A:A"), Dest) = 0
End Function |
Partager