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 :

détection d'adresse mail


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 32
    Par défaut détection d'adresse mail
    Bonjour à tous.
    Je suis nouveau sur ce forum, et nouveau en vba...
    J'ai une liste de 600 clients auxquels j'envoie une lettre mensuelle, et qui l'apprécient.
    Je plaçais les adresses dans le champ cci et je balancais tout. Apres 3 mois: blacklisté.
    Maintenant, on passe une journée à cliquer sur chaque message en attendant trente secondes entre chaque: c'est une fameuse galère, mais ça marche.
    Du coup, j'ai acheté 3 bouquins sur le vba excel, et je suis arrivé à ça:

    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
    Sub mail_clic()
    '
    ' mail_clic Macro
    ' Macro enregistrée le 2/10/2008 par patrick
    '
    ' Touche de raccourci du clavier: Ctrl+r
     
    Do While Not (IsEmpty(ActiveCell))
     
        Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
        newHour = Hour(Now())
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 10
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime
        SendKeys "{TAB 3}", True
        SendKeys "La lettre de l'isolation phonique", True
        SendKeys "(%s)", True
    newMinute = Minute(Now())
    newSecond = Second(Now()) + 10
    waitTime = TimeSerial(newHour, newMinute, newSecond)
    Application.Wait waitTime
    ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
     
    Loop
     
    End Sub
    Ca marche bien (le message est "en signature" avec windows mail), mais je n'ai essayé que sur 4 cellules contenant les adresses.
    La macro s'arrête sur la cellule vide.
    Comment faire pour remplacer la condition "si cellule vide" par une condition "si cellule n'a pas le format adresse mail"
    J'ai cherché moi-même avant de poster, tout simplement parce que ca me passionne et je crois bien que je suis piqué. Je commence à comprendre qu'on puisse passer pas mal de temps à coder. C'est génial quand on voit qu'un petit programme commence à fonctionner.
    J'espère que vous me répondrez. Bonne journée.

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Essaie comme ceci (je ne l'ai pas testé)
    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
    Sub mail_clic()
    Dim Hpl As Hyperlink
     
    'pour chaque lien dans la colonne A
    For Each Hpl In Range("A:A").Hyperlinks
        ThisWorkbook.FollowHyperlink Hpl.Address
        newHour = Hour(Now())
        newMinute = Minute(Now())
        newSecond = Second(Now()) + 10
        waitTime = TimeSerial(newHour, newMinute, newSecond)
        Application.Wait waitTime
            SendKeys "{TAB 3}", True
            SendKeys "La lettre de l'isolation phonique", True
            SendKeys "(%s)", True
        newMinute = Minute(Now())
        newSecond = Second(Now()) + 10
        waitTime = TimeSerial(newHour, newMinute, newSecond)
        Application.Wait waitTime
    Next
     
    End Sub
    Cdlt

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 32
    Par défaut j'essaie ce soir...
    Le temps d'ouvrir le bon bouquin et de voir for each... next...
    (J'aime bien comprendre ce que je fais) et j'essaie ce soir.
    En tout cas, c'est super sympa de m'avoir répondu. Je vous tiens au courant.

Discussions similaires

  1. [VB.NET] mailto adresse mail dans zone de text
    Par wilaya dans le forum ASP.NET
    Réponses: 8
    Dernier message: 22/03/2005, 12h50
  2. [JFormattedTextField ]validité d'une adresse mail
    Par gege2mars dans le forum Composants
    Réponses: 3
    Dernier message: 14/01/2005, 17h55
  3. [VBA][outlook] récupération des adresses mail
    Par arno2004 dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 27/07/2004, 19h48
  4. Cacher l'adresse mail
    Par alain58 dans le forum ASP
    Réponses: 15
    Dernier message: 20/07/2004, 18h06
  5. [VB6] procédure de vérification d'adresse mail ?
    Par ghohm dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/06/2004, 14h05

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