IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

reconnaissance de saisie de donnée (mail personnel ou professionnel)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Par défaut reconnaissance de saisie de donnée (mail personnel ou professionnel)
    Bonsoir ! comment allez vous, voilà j'ai un nouveau sujet.
    il sagit ici de différencier entre un mail Personnel et un mail Professionnel.
    généralement connu :
    - le mail personnel notamment ( Yahoo, Gmail, Hotmail, Live, Voila,...)
    - le mail Professionnel souvent reconnu par un nom d'entreprise,Société
    ou un organisme ( exemple: rene@lg.fr , christian@toyota.com ,..)

    dans mon userform j'ai une zone de texe 1 (pour la saisi d'un mail Personnel) pour l'enregistrer sur ma feuille je clique sur le bouton (enregistrer mail perso qui se trouve aussi sur mon userform)
    et une zone de texe 2 (pour la saisi d'un mail Professionnel) pour l'enregistrer sur ma feuille je clique sur le bouton (enregistrer mail pro qui aussi se trouve sur mon userform).

    le Problème ici je veux que quand j'insert un mail personnel dans la partie de la zone de texe professionnel qu'il reconnaisse le mail personnel en me disant ceci n'est pas un mail professionnel.

    même chose pour le cas d'un mail personnel, il ne peut que accepter les mails personnel, pas les mails professionnel.

    voici mon code qui me permet d'ajouter des mails (pour le bouton)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Ajout1_Click()
    'teste si un texte a été entré, si non, le programme averti l'utilisateur et s'arrête
                   If UserForm1.TextBox1.Text = "" Then
                            MsgBox "Vous n'avez rien saisi;" & Chr(10) & "Veillez entrer un mail! "
                        Exit Sub
                       End If
    For i = 1 To 10000
    If Cells(i, 1) = "" Then Exit For
    Next
     
    'insertion de la valeur de la zone de texte (textbox1 représentant le nom de la zone de texte)
    Cells(i, 1) = TextBox1.Text
    End Sub
    et celui ci le code de ma zone de texe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub TextBox1_Change()
    Sheets("Mail Personnel").Select
    Range("A2").Select
    ActiveCell.FormulaR1C1 = TextBox1
    End Sub

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    un mail Personnel [...] généralement connu :
    - le mail personnel notamment ( Yahoo, Gmail, Hotmail, Live, Voila,...)
    [...]
    le Problème ici je veux que quand j'insert un mail personnel dans la partie de la zone de texte professionnel qu'il reconnaisse le mail personnel en me disant ceci n'est pas un mail professionnel.
    Pour savoir si un destinataire de mail utilise un email faisant partie de la liste des fournisseur d'email considéré comme perso,
    utilise la fonction isMailPerso(<adresse email du destinataire). Par conséquence, les mails qui ne seront pas personnel, seront considérés comme professionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function isMailPerso(destinataire As String) As Boolean
        Dim ISPPerso() As String
        ISPPerso = Split("yahoo;gmail;hotmail;live;voila;laposte;aol;bouygtel;crocomail", ";")
     
        isMailPerso = False
        Dim i As Integer
        For i = 0 To UBound(ISPPerso)
            If InStr(1, LCase(destinataire), "@" & ISPPerso(i)) > 0 Then
                isMailPerso = True
                Exit For
            End If
        Next i
     
    End Function

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Attention de bien mettre à jour la liste, il manque par exemple la Dartybox.

    Philippe

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Par défaut
    Bonjour ! merci , j'ai un peu du mal à m'en sortir ce code je doit l'associer l'un de mon code ou bien. si vous pouvez m'en dire plus je m’en sortirais aussi vite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function isMailPerso(destinataire As String) As Boolean
        Dim ISPPerso() As String
        ISPPerso = Split("yahoo;gmail;hotmail;live;voila;laposte;aol;bouygtel;crocomail", ";")
     
        isMailPerso = False
        Dim i As Integer
        For i = 0 To UBound(ISPPerso)
            If InStr(1, LCase(destinataire), "@" & ISPPerso(i)) > 0 Then
                isMailPerso = True
                Exit For
            End If
        Next i
     
    End Function

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Re.

    Avec la ligne ISPPerso = Split("yahoo;gmail;hotmail;live;voila;laposte;aol;bouygtel;crocomail", ";") ISPPerso contient un tableau de chaîne contenant
    la liste de domaine considéré comme personnel.

    Pour compléter la liste comme indiqué par Philippe JOCHMANS, il suffit d'ajouter d'autre domaine à la fin de la chaîne de caractère, en les séparant par des ;

    Donc dans la fonction qui ajoute un code mail Professionnel, il faudra ajouter quelque par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         If isMailPerso(UserForm1.TextBox1.Text) Then
           Call MsgBox("Ceci est un destinataire non professionnel" & Chr(10) & _
                       "Le traitement est interrompu", vbExclamation + vbOKOnly)
           Exit Sub
        End If

  6. #6
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 36
    Par défaut
    Salut ! je m'en sort pas, ça vous dérangerais si je vous passais mon fichier excel vba, afin que vous y jeter un oeil et si vous pouvez ajouter ces codes. ça m'aiderait beaucoup merci.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Formulaire] Formulaire de saisie de données
    Par Elfito dans le forum IHM
    Réponses: 5
    Dernier message: 08/01/2007, 12h39
  2. Saisie de données en mode graphique??
    Par matix83 dans le forum C
    Réponses: 5
    Dernier message: 15/04/2006, 10h09
  3. saisie de données et génération automatique d'un classement
    Par kcizth dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/12/2005, 13h24
  4. saisie de données dans formulaire
    Par philpaul dans le forum Access
    Réponses: 4
    Dernier message: 15/09/2005, 13h13
  5. Saisie de données dans une procédure stockée
    Par Hastaroth dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/10/2004, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo