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 Access Discussion :

Bug enregistrement contact Access / Outlook


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut Bug enregistrement contact Access / Outlook
    Bonjour à tous,

    Bon j'ai créé une base de données ACCESS type CRM avec un formulaire contact où je saisie mes contacts pour ensuite les enregistrer dans Outlook via la macro ci-dessous.

    Nom : 001.PNG
Affichages : 224
Taille : 10,1 Ko

    Bien mais par naïveté... j'ai modifié la taille de mon Adresse de messagerie de 50 je l'ai passé à 100 et depuis bien que je l'ai remis à 50 je n'arrive plus à enregistrer l'email, la page web et et le nom de la rue (ne figure dans la fiche que le code Postal et la Ville) du contact le champ est vide.

    Le message :
    Nom : 002.PNG
Affichages : 215
Taille : 6,1 Ko








    Fiche contact transféré sur Outlook avant enregistrement...

    Nom : 003.PNG
Affichages : 218
Taille : 60,9 Ko







    J'ai cherché pour savoir comment résoudre ce problème, mais je suis sec.
    Pourriez-vous s'il vous plaît m'aider ?
    Est-ce qu'avec du VBA je pourrai sauver ma table "Contacts" et si oui lequel ?

    Merci beaucoup par avance.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonsoir,
    ce n'est qu'un message d'avertissement pas un message d'erreur, est-ce qu'au moins tu cliques sur Oui ?
    Car cela ne devrait pas effacer les données, juste copier les 50 premiers caractères et tronquer le reste ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Merci pour ton message.
    Oui bien sûr j'ai cliqué sur oui quand j'ai changé le nombre de caractère.
    J'associe donc cette perte de données à cette manipulation des champs de la table.. enfin c'est ce que j'ai constaté mais je peux me tromper.
    Et maintenant je me retrouve avec une partie des données qui ne sont plus envoyées vers Outlook.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    J'associe donc cette perte de données à cette manipulation des champs de la table
    tu parles d'une table Access ou une "table" Outlook pour la modification de structure ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Tu as raison, il me faut être plus précis.
    Il s'agit de modifications apportées au niveau de ma table ACCESS après plusieurs mois d'utilisation et donc plus de 3 000 contacts liés à des rapports.

    Nom : 004.PNG
Affichages : 200
Taille : 91,2 Ko

    Voilà donc ci-dessous ma fiche contact exemple

    Nom : 005.PNG
Affichages : 196
Taille : 85,7 Ko

    J'ai essayé de créer un nouveau champ dans la tb Access Adresse de messagerie et de recopier les données en sélectionnant la colonne, mais le résultat est le même.
    iDEM POUR LES AUTRES CHAMPS QUI BUG.

    J'ai trouvé un bout de code ci-dessous :

    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
     
    Dim Contacts As DAO.Recordset
     
    Set Contacts = CurrentDb.OpenRecordset("SELECT * FROM [Contacts]")
    Contacts.AddNew
    Contacts![ContactsID] = Me.txtContactsID.Value
    Contacts![ContactsNom] = Me.txtContactsNom.Value
    Contacts![ContactsPrénom] = Me.txtContactsPrénom.Value
    Contacts![ContactsFonction] = Me.txtContactsFonction.Value
    Contacts![ContactsAdresse_de_messagerie] = Me.txtContactsAdresse_de_messagerie.Value
    Contacts![ContactsAddressLine1] = Me.txtContactsAddressLine1.Value
    Contacts![City] = Me.txtCity.Value
    Contacts![Zip] = Me.txtZip.Value
    Contacts.Update
    Contacts.Close
    Set Contacts = Nothing
    DoCmd.Close
    Mais j'ai le message "Erreur de compilation" sur L'ID pour commencer.

    Nom : 006.PNG
Affichages : 194
Taille : 28,9 Ko
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    pour commencer: ContactsID n'existe pas, c'est ID et c'est un champ de type numéro auto, c'est un champ non modifiable il faut l'enlever de la liste des champs à ajouter dans AddNew, il s'incrémentera tout seul (sinon à quoi bon utiliser le type numéro auto si c'est pour ensuite essayer d'y ajouter des données ? )

    [EDIT:] il semble que tu n'utilises pas les champs de Contacts pour les remplir (d'où l'erreur de membre introuvable)
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Merci beaucoup pour ton retour.
    Effectivement il s'agissait du code vba test. oups
    Voilà donc mon bon code au click d'un bouton.

    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
     
    Private Sub cmdCreateOutlookContact_Click()
    'Record contact Outlook
    Dim Contacts As DAO.Recordset
    Set Contacts = CurrentDb.OpenRecordset("SELECT * FROM [Contacts]")
     
    Contacts.AddNew
    Contacts![ContactsSociété] = Me.txtContactsSociété.Value
    Contacts![ContactsNom] = Me.txtContactsNom.Value
    Contacts![ContactsPrénom] = Me.txtContactsPrénom.Value
    Contacts![ContactsAdresse_de_messagerie] = Me.txtContactsAdresse_de_messagerie.Value
    Contacts![ContactsFonction] = Me.txtContactsFonction.Value
    Contacts![ContactsTéléphone_professionnel] = Me.txtContactsTéléphone_professionnel.Value
    Contacts![ContactsTéléphone_personnel] = Me.txtContactsTéléphone_personnel.Value
    Contacts![ContactsTéléphone_mobile] = Me.txtContactsTéléphone_mobile.Value
    Contacts![ContactsNuméro_de_télécopie] = Me.txtContactsNuméro_de_télécopie.Value
    Contacts![ContactsAdresse] = Me.txtContactsAddresse.Value
    Contacts![ContactsVille] = Me.txtContactsVille.Value
    Contacts![ContactsCode_postal] = Me.txtContactsCode_postal.Value
    'Contacts![ContactsPays/Région] = Me.txtContactsPays / Région.Value
    Contacts![ContactsPage_Web] = Me.txtContactsPage_Web.Value
    Contacts![ContactsNotes] = Me.txtContactsNotes.Value
    Contacts![ContactsPièces_jointes] = Me.txtContactsPièces_jointes.Value
    Contacts![ContactsCatégorie] = Me.txtContactsCatégorie.Value
     
    Contacts.Update
    Contacts.Close
    Set Contacts = Nothing
     
    DoCmd.Close
     
    End Sub
    Mais j'ai toujours ce même message.

    Nom : 007.PNG
Affichages : 173
Taille : 83,4 Ko













    Alors je me suis dit que cela venait peut-être du nom du champ du formulaire pour le champ Société c'est une liste déroulante dont le nom est... cmb_societe_lien

    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
     
    Private Sub cmdCreateOutlookContact_Click()
    'Record contact Outlook
    Dim Contacts As DAO.Recordset
    Set Contacts = CurrentDb.OpenRecordset("SELECT * FROM [Contacts]")
     
    Contacts.AddNew
    'Contacts![ContactsSociété] = Me.txtContactsSociété.Value
    Contacts![ContactsSociété] = Me.txtContactscmb_societe_lien.Value
    Contacts![ContactsNom] = Me.txtContactsNom.Value
    Contacts![ContactsPrénom] = Me.txtContactsPrénom.Value
    Contacts![ContactsAdresse_de_messagerie] = Me.txtContactsAdresse_de_messagerie.Value
    Contacts![ContactsFonction] = Me.txtContactsFonction.Value
    Contacts![ContactsTéléphone_professionnel] = Me.txtContactsTéléphone_professionnel.Value
    Contacts![ContactsTéléphone_personnel] = Me.txtContactsTéléphone_personnel.Value
    Contacts![ContactsTéléphone_mobile] = Me.txtContactsTéléphone_mobile.Value
    Contacts![ContactsNuméro_de_télécopie] = Me.txtContactsNuméro_de_télécopie.Value
    Contacts![ContactsAdresse] = Me.txtContactsAddresse.Value
    Contacts![ContactsVille] = Me.txtContactsVille.Value
    Contacts![ContactsCode_postal] = Me.txtContactsCode_postal.Value
    'Contacts![ContactsPays/Région] = Me.txtContactsPays / Région.Value
    Contacts![ContactsPage_Web] = Me.txtContactsPage_Web.Value
    Contacts![ContactsNotes] = Me.txtContactsNotes.Value
    Contacts![ContactsPièces_jointes] = Me.txtContactsPièces_jointes.Value
    Contacts![ContactsCatégorie] = Me.txtContactsCatégorie.Value
     
    Contacts.Update
    Contacts.Close
    Set Contacts = Nothing
     
    DoCmd.Close
     
    End Sub

    Mais j'ai le même résultat...



    Nom : 008.PNG
Affichages : 168
Taille : 80,4 Ko
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Alors je me suis dit que cela venait peut-être du nom du champ du formulaire pour le champ Société c'est une liste déroulante dont le nom est... cmb_societe_lien
    oui, c'est toujours le nom du contrôle du formulaire qu'il faut mettre (c'est le réflexe à avoir dès lors qu'on utilise Me.)
    mais dans ce cas, pourquoi ce nom est utilisé dans le code : Me.txtContactscmb_societe_lien ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Super...

    Bon j'ai bien révisé mes noms de champ dans le formulaire et voici donc le code avec le Me qui correspond bien à mes noms de champs formulaire.

    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
     
    Private Sub cmdCreateOutlookContact_Click()
    'Record contact Outlook
    Dim Contacts As DAO.Recordset
    Set Contacts = CurrentDb.OpenRecordset("SELECT * FROM [Contacts]")
     
    Contacts.AddNew
     
    Contacts![ContactsSociété] = Me.txtContactsCompagny.Value
    Contacts![ContactsNom] = Me.txtContactsLast_Name.Value
    Contacts![ContactsPrénom] = Me.txtContactsFirst_Name.Value
    Contacts![ContactsAdresse_de_messagerie] = Me.txtContactsE_mail_Address.Value
    Contacts![ContactsFonction] = Me.txtContactscmb_fonction.Value
    Contacts![ContactsTéléphone_professionnel] = Me.txtContactsBusinessPhone.Value
    Contacts![ContactsTéléphone_personnel] = Me.txtContactsHome_Phone.Value
    Contacts![ContactsTéléphone_mobile] = Me.txtContactsMobile_Phone.Value
    Contacts![ContactsNuméro_de_télécopie] = Me.txtContactsFax_Number.Value
    Contacts![ContactsAdresse] = Me.txtContactsAdresse.Value
    Contacts![ContactsVille] = Me.txtContactsVille.Value
    Contacts![ContactsCode_postal] = Me.txtContactsCodePostal.Value
    Contacts![ContactsPays/Région] = Me.txtContactsPays.Value
    Contacts![ContactsPage_Web] = Me.txtContactsWeb.Value
    Contacts![ContactsNotes] = Me.txtContactsNotes.Value
    Contacts![ContactsPièces_jointes] = Me.txtContactsAttachments.Value
    Contacts![ContactsCatégorie] = Me.txtContactsCategorie.Value
     
    Contacts.Update
    Contacts.Close
    Set Contacts = Nothing
     
    DoCmd.Close
     
    End Sub
    Mais j'ai toujours le même message d'erreur !

    Nom : 009.PNG
Affichages : 158
Taille : 87,1 Ko
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    bonjour,
    Mais j'ai toujours le même message d'erreur !
    et l'erreur a toujours la même cause: le contrôle est inconnu ! il faut prendre le nom inscrit dans la propriété du champ "Nom du contrôle".
    Fais une impression d'écran de la propriété de ce contrôle du formulaire pour qu'on vérifie.

    Et d'autre part je constate que tu n'as toujours pas corrigé non plus les noms des champs de la table de destination Contacts
    :Nom : _0.JPG
Affichages : 167
Taille : 73,0 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Merciii beaucoup.
    je suis désolé, mais il y a quelque chose qui m'échappe et je ne comprends pas tout ce que tu me dis, car je suis novice en VBA.

    J'ai essayé les 2 méthodes, mais j'ai toujours le même message.

    Mon code où j'ai désactivé l'essai précédent pour comprendre ta remarque.
    Comment puis-je écrire ce code ?

    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
     
    Private Sub cmdCreateOutlookContact_Click()
    'Record contact Outlook
    Dim Contacts As DAO.Recordset
    Set Contacts = CurrentDb.OpenRecordset("SELECT * FROM [Contacts]")
     
    Contacts.AddNew
     
    ' Essai avec Société
    Contacts![ContactsSociété] = Me.txtContactsSociété.Value
    ' Essai avec Adresse_de_messagerie
    Contacts![ContactsAdresse_de_messagerie] = Me.txtContactsAdresse_de_messagerie.Value
     
    ' Code testé et même problème
    'Contacts![ContactsCompagny] = Me.txtContactsCompagny.Value
    'Contacts![ContactsLast_Name] = Me.txtContactsLast_Name.Value
    'Contacts![ContactsFirst_Name] = Me.txtContactsFirst_Name.Value
    'Contacts![ContactsE_mail_Address] = Me.txtContactsE_mail_Address.Value
    'Contacts![Contactscmb_fonction] = Me.txtContactscmb_fonction.Value
    'Contacts![ContactsBusinessPhone] = Me.txtContactsBusinessPhone.Value
    'Contacts![ContactsHome_Phone] = Me.txtContactsHome_Phone.Value
    'Contacts![ContactsMobile_Phone] = Me.txtContactsMobile_Phone.Value
    'Contacts![ContactsFax_Number] = Me.txtContactsFax_Number.Value
    'Contacts![ContactsAdresse] = Me.txtContactsAdresse.Value
    'Contacts![ContactsVille] = Me.txtContactsVille.Value
    'Contacts![ContactsCodePostal] = Me.txtContactsCodePostal.Value
    'Contacts![ContactsPays] = Me.txtContactsPays.Value
    'Contacts![ContactsWeb] = Me.txtContactsWeb.Value
    'Contacts![ContactsNotes] = Me.txtContactsNotes.Value
    'Contacts![ContactsAttachments] = Me.txtContactsAttachments.Value
    'Contacts![ContactsCategorie] = Me.txtContactsCategorie.Value
     
    Contacts.Update
    Contacts.Close
    Set Contacts = Nothing
     
    DoCmd.Close
     
    End Sub

    Voici mes 2 captures d'écran pour que tu puisses voir ce qui m'échappe.

    Onglet "Données"
    Nom : 011.PNG
Affichages : 165
Taille : 125,5 Ko

    Et voici la 2ème Onglet "Toutes"

    Nom : 012.PNG
Affichages : 160
Taille : 140,4 Ko

    Nom : 013.PNG
Affichages : 160
Taille : 42,7 Ko

    Merci par avance.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    d'abord, j'aimerai comprendre le processus: quand tu saisis des données depuis le formulaire, quel est le nom de la table associée au formulaire et quel est le nom du champ (pour Compagny par exemple), ensuite quand tu les copies avec AddNew lors du clic du bouton, quel est le nom de la table de destination et quel est le nom du champ de destination ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  13. #13
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Je vais essayer de te donner tous les éléments possibles.

    Pour faire cette CRM, je suis parti d'un modèle par défaut de BdD qu'Access propose est qui est "Contacts".
    Cette table [Contacts] avait un formulaire que j'ai transformé en [frm_contact-creation].

    Le nom de la table associée au formulaire [frm_contact-creation] est donc [Contacts]
    Le nom du champ dans la table [Contacts] est "Société" et dans le [frm_contact-creation] c'est "Compagny" (parce que du formulaire dont je suis parti c'était comme cela).

    Comme avant j'utilisai la macro ci-dessous, je ne me suis pas posé la question puisqu'elle ouvrait Outlook et créé ou mettait à jour le contact dans Outlook.

    Nom : 001.PNG
Affichages : 160
Taille : 10,1 Ko

    Donc je ne sais quelle est le nom de la table dans Outlook, puisque c'est la macro qui le faisait.
    Et comme cela m'a planté ma crm... je patine dur.

    Le code que j'ai essayé d'adapter, c'est un code que j'ai trouvé sur le web dans le thème créer un contact depuis Access dans Outlook.
    Mais... voilà je suis un peu perdu... Car comme je te l'ai signalé au début de ce fil de discussion

    J'ai modifié la taille de mon Adresse de messagerie de 50 je l'ai passé à 100 et depuis bien que je l'ai remis à 50 je n'arrive plus à enregistrer l'email, la page web et et le nom de la rue (ne figure dans la fiche que le code Postal et la Ville) du contact le champ est vide.
    Je suis désolé de t'embêter...
    Voilà j'espère avoir été clair et si seulement la macro "EnregisterContactSousOutlook" marchait. Je ne comprends ce qui l'a perturbé.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  14. #14
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    le problème c'est que tu pars d'exemples trouvés un peu partout mais après, tu ne maîtrises pas ce que tu manipules, c'est donc compliqué de t'expliquer ce qu'il faut faire si tu es à ce niveau dans VBA.
    Dans ton formulaire, tu utilises, une table que tu remplis mais tu veux aussi écrire dans les Contacts Outlook sans connaitre, apparemment, le nom de la table de destination, c'est déjà un premier problème d'enregistrer une saisie dans une table puis de la copier dans une autre, il serait mieux de ne pas avoir de table associée au formulaire. Est-ce que au moins la table "Contacts d'Outlook est attachée à ta base ?
    Cela doit ressembler à ça avec cet icône:

    Nom : _2.JPG
Affichages : 156
Taille : 34,1 Ko

    Sinon, poste-moi les liens qui t'ont permis de créer ce code et la base modèle dans Access
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  15. #15
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Est-ce que au moins la table "Contacts d'Outlook est attachée à ta base ?
    Ah après vérification non la table "Contacts d'Outlook" n'est pas attachée à ma base.
    Car je bosse sur une crm perso qui viens interagir avec office 365 corporate (dont outlook) de ma société.
    Et je ne veux pas synchroniser ma crm et Outlook. Ce je je fais aujourd’hui c'est créer dans ma crm le contact puis avec la fonction macro bouton vert "EnregistrerContatSousOutlook" créer la fiche contact dans Outlook.

    Nom : 014.PNG
Affichages : 160
Taille : 8,1 Ko

    Le bouton à droite du bouton vert est celui que j'utilise pour coder

    je te joins la table "Database_modele_contact_Access_defaut.accdb" qui est le modèle dont je suis parti et qui fonctionne très bien dans sa connexion avec outlook sans lier quoi que ce soit. et ma database qui bug maintenant dans l'état avec les noms des champs qui marchaient avant.

    Par contre je ne vois pas comment t'envoyer les database, car j'ai essayé en pièces jointes mais il ne se passe rien.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  16. #16
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Par contre je ne vois pas comment t'envoyer les database, car j'ai essayé en pièces jointes mais il ne se passe rien.
    c'est bien en pièces jointes mais on ne peut pas envoyer une base directement, il faut la compresser (format ZIP) au préalable
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  17. #17
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    le code du lien n'est pas du tout adapté à ton cas: la source de ton formulaire est basée sur une requête: Contacts (étendu) donc pas besoin de code d'ajout, ce que tu saisis va directement dans la table Contacts puisque la requête est basée dessus.
    A propos de la requête Contacts (étendu) je constate que tu as ajouté des parenthèses dans le nom de l'objet: c'est source de complications, tout comme les espaces et je ne comprend même pas que Microsoft s'autorise à en mettre dans les noms d'objets dans ces bases d'exemple. Comme on dit, l'exemple doit venir d'en haut...

    Donc, pour résumé, dans le formulaire frm_contact-creation tout le code VBA de cmdCreateOutlookContact_Click() est inutile, il faut juste remplacer toutes les lignes par la commande de sauvegarde de l'enregistrement : Me.Requery
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  19. #19
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut
    Merci beaucoup pour ton analyse.
    Si je n'étais pas coincé et si cela n'était pas aussi important, je ne t’embêterai pas.

    Si je comprends bien, voici ce que je devrai écrire sur ce bouton cadre en jaune ?

    Nom : 015.PNG
Affichages : 147
Taille : 7,2 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub cmdCreateOutlookContact_Click()
    'Record contact Outlook
    Me.Requery
     
    End Sub
    Mais comme il ne se passe rien, je pense que je suis à côté.

    Pourrais-tu s'il te plaît me dire où je dois écrire et quel est le code exact. Cela me gêne de te prendre du temps.
    En tout cas tu es vraiment, super et merciiiiii beaucoup.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  20. #20
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 637
    Points : 14 611
    Points
    14 611
    Par défaut
    Mais comme il ne se passe rien, je pense que je suis à côté.
    tu crois qu'il ne se passe rien, mais en fait Requery enregistre la saisie et libère l'enregistrement car il est verrouillé tant que la saisie est en cours. Le seul moyen est de faire la commande Actualiser (Requery), de passer à l'enregistrement suivant ou de quitter le formulaire.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. Créer un contact dans outlook avec Access
    Par jujudu17 dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 05/11/2015, 18h10
  2. [OL-2010] Importer des contact sur outlook venant d'une base access
    Par Marc31 dans le forum Outlook
    Réponses: 4
    Dernier message: 07/09/2011, 10h34
  3. [AC-2010] Export de données (contact) Access vers Outlook
    Par Marc31 dans le forum Access
    Réponses: 0
    Dernier message: 01/09/2011, 18h35
  4. Réponses: 0
    Dernier message: 11/06/2009, 20h32
  5. Lier contacts publics Outlook dans Access
    Par hynamore dans le forum Modélisation
    Réponses: 1
    Dernier message: 08/12/2008, 12h34

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