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

VBA Outlook Discussion :

Outlook 2007 recherche d'1 contact par une partie de numéro de téléphone


Sujet :

VBA Outlook

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Outlook 2007 recherche d'1 contact par une partie de numéro de téléphone
    bonjour à tous,

    après maintes recherches sans résultat, je m'adresse à la communauté :

    Comment effectuer une recherche de contacts avec une partie du numéro de téléphone : je m'explique

    j'ai beaucoup de contact environ 1500 avec chacun 5 numéro de téléphone ou autres soit 7500 numéro

    les numéro sont entrés sous forme internationnale,
    ex : +33 123456789 ou +32 123456789 ou +352 123456789

    avec Windows Desktop Search ( recherche instantanée ), je n'arrive pas trouver les contacts dont les numéros de téléphone contiennent par ex 678

    j'ai essayé les caractères génériques ? * # sans succès

    le seul moyen c'est l'export en xls par exemple puis le module de recherche d'excel

    quelqu'un a-t-il une autre solution ? voir une macro ?

    ce qui m'interresse le plus c'est éventuellement une macro qui peut chercher n'importe quelle suite de chiffre ex : 678, placé n'importe ou dans un numéro international de téléphone ( ou si quelqu'un sait comment le faire avec desktop search, je suis preneur )

    car en fait Desktop search trouve seulement dans 2 cas :

    1) si on connait le numéro international depuis le début ex : +33 678...... mais dans ce cas la position de la suite de chiffre est fixe et en plus il faut connaitre le préfixe

    2) si on connait le numéro national depuis le début sans le préfixe dans ce cas: si les numéros internationaux on été saisi avec un espace entre le préfixe et le numéro national, il trouvera par exemple tous les numéros nationaux commençant par 678 avec n'importe quel préfixe international devant ex : +33 678....., +32 678....., +352 678....., +49 678.....

    mais en tout cas si on ne connait pas le numéro depuis le début je n'ai pas trouvé comment faire

    si vous savez comment faire avec desktop search ça m'arrangerais mais je doute que ce soit possible

    quelqu'un a une idée

    merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Voilà un morceau de code incomplet.
    A toi de le compléter pour obtenir ce que tu veux.

    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
    Sub RechercheContact()
    Dim myFld As Folder
    Dim myNS As NameSpace
     
    Dim oApp As Outlook.Application
    Dim cont As ContactItem
     
     
    Set oApp = Outlook.Application
    Set myNS = oApp.GetNamespace("MAPI")
    Set myFld = myNS.GetDefaultFolder(olFolderContacts)
     
     
    Debug.Print myFld.Items.Count
     
    For Each cont In myFld.Items
        Debug.Print cont.Business2TelephoneNumber
    Next cont
    Set oApp = Nothing
    Set myNS = Nothing
    Set myFld = Nothing
     
     
     
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 67
    Points : 68
    Points
    68
    Par défaut
    Bonjour,

    Bon... la discussion date un peu...

    En fait, je voudrais faire une recherche dans mes contacts en utilisant l'adresse mail afin de modifier l'espace Notes de la fiche de contact correspondant à l'adresse (si elle existe). Voici mon programme :
    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
    Option Explicit
     
    Private Sub Application_ItemSend(ByVal Item As Object, _
    Cancel As Boolean)
     
    Dim Courriel As MailItem
    Dim Destinataires As Recipients
    Dim Destinataire As Recipient
    Dim UnContact As ContactItem
    Dim Nb As Integer
    Dim Ns As NameSpace
    Dim Carnet As MAPIFolder
    Dim V As Variant
     
    Set Ns = GetNamespace("MAPI")
    Set Carnet = Ns.GetDefaultFolder(olFolderContacts)  'Recherche dans les contacts personnels
    'Set Carnet=Ns.GetDefaultFolder(olPublicFoldersAllPublicFolders.folders("Fournisseurs") 'Recherche dans les contacts partagés
    Set Courriel = Item
    Set Destinataires = Courriel.Recipients
     
     
    'Dim myAddressList As AddressList
    'Set myAddressList = Application.Session.AddressLists(1)
     
     
    ' ENREGISTREMENT DES CONSULTATIONS DE CHAQUE CONTACT
    ' Pour tous les destinataires du courriel
    For Each Destinataire In Destinataires
     
        ' Rechercher dans les contacts
        For Each V In Carnet.Items
                If TypeName(V) = "ContactItem" Then 'Vérifier s'il s'agit d'un ContactItem
                'Set UnContact = V
                If UnContact.Email1Address = Destinataire.Address _
                Or UnContact.Email2Address = Destinataire.Address _
                Or UnContact.Email3Address = Destinataire.Address Then
                    ' Destinataire trouvé
                    If UnContact.Body = "" Then
                        ' Ajouter la première consultation dans Notes du contact
                        UnContact.Body = "1.  " & Format(Now(), "dddddd") & "   -  De " & Courriel.Session.CurrentUser.Name & "   -  Objet :  " & Courriel.Subject
                        UnContact.Save
                        Else
                            ' Ajouter la dernière consultation à la liste dans Notes du contact
                            UnContact.Body = UBound(Split(V.Body, ".  ")) + 1 & ".  " & Format(Now(), "dddddd") & "   -  De " & Courriel.Session.CurrentUser.Name & "   -  Objet :  " & Courriel.Subject & vbCrLf & UnContact.Body
                            UnContact.Save
                    End If
     
        Exit For
                End If
            End If
     
            Next V
     
            Next Destinataire
     
     
    End Sub
    Lors de mon exécution, j'ai un petit problème au niveau de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If UnContact.Email1Address = Destinataire.Address _
                Or UnContact.Email2Address = Destinataire.Address _
                Or UnContact.Email3Address = Destinataire.Address Then
    Avec l'erreur d'exécution '91 : Variable objet ou variable de bloc With non définie. Etant débutante, je ne vois pas du tout d'où peut venir cette erreur...

    Pouvez-vous m'aider svp ? Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Uncontact n'a pas d'affectation.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Recherche maximum sans passer par une PROC SQL
    Par fafabzh6 dans le forum SAS Base
    Réponses: 3
    Dernier message: 11/04/2014, 16h20
  2. Recherche de mot commençant par une chaine dans un dictionnaire
    Par ram-0000 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 20/04/2012, 18h09
  3. Réponses: 23
    Dernier message: 07/09/2011, 09h51
  4. Contactée par une SSII à 31 ans : y aller ou pas ?
    Par lafeedesbois dans le forum SSII
    Réponses: 17
    Dernier message: 10/07/2007, 21h07
  5. Recherche par une partie du champ
    Par safadev dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/10/2005, 14h20

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