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 :

compatibilité macro excel 97 2007


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut compatibilité macro excel 97 2007
    Bonjour a tous,

    J'ai un big probleme que je ne comprends pas.
    J'ai fait un fichier excel qui me permet par macro d'envoyer un mail apres un certain nombre d'execution.
    j'ai pratiquement fais tous mon programme avec excel 97/2003. Et tous fonctionne correctement : generation ouverture outllok, gezneration du mail,...etc
    mais lorsque je lance la même macro (meme fichier sur excel 2007) j'obtiens un message d'erreur :

    si joint le detaille de ma macro :

    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
    Sub mail4()
     
        Dim MonOutlook, MonMessage As Object
        Dim Corps, Corps1, Corps2, Corps3, Corps4 As String
        Dim Sujet, adresse, nomfichier As String
     
     
        Set MonOutlook = CreateObject("Outlook.Application")
        Set MonMessage = MonOutlook.createitem(0)
     
        MonMessage.Display
        Sheets("mail").Visible = True
        Sheets("mail").Select
        Sujet = ActiveSheet.Range("A7").Value
        MonMessage.Subject = "AQG 30 : " & Mid(ActiveWorkbook.Name, 1, 16) & Sujet
     
        Corps1 = Cells.Range("A27").Value
        adresse = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
        Range("E1") = adresse
        nomfichier = ActiveWorkbook.Name
        Corps2 = Cells.Range("A28").Value
        Corps3 = Cells.Range("A29").Value
        Corps4 = Cells.Range("A30").Value
        Corps = "<A>Bonjour,<br></A>" & _
                "<A><br></A>" & _
                "<A>" & Corps1 & "<br></A>" & _
                "<A><br></A>" & _
                "<A HREF=""" & Range("E1") & """>" & nomfichier & "</A>" & _
                "<A><br></A>" & _
                "<A><br></A>" & _
                "<A>" & Corps2 & "<br></A>" & _
                "<A><br></A>" & _
                "<A>" & Corps3 & "<br></A>" & _
                "<A><br></A>" & _
                "<A>" & Corps4 & "<br></A>" & _
                "<A><br></A>" & _
                "<A>Cordialement.<br></A>"
     
        MonMessage.HTMLBody = Corps
        Sheets("mail").Visible = False
        Sheets("Page 3 commerciale + CDP").Select
        Set Raccourci = Nothing
        Set MonOutlook = Nothing
    End Sub
     
    sous excel 97/2003 aucun probleme mais sous  excel 2007 jai une erreur d'execution des la ligne 
     
     Set MonOutlook = CreateObject("Outlook.Application")
    Erreur d'execution 429 : Un composant active X ne peut pas créer d'objet.

    Please un enorme help, car je dois presente ce fichier demain a mon boss!!!

    Merci d'avance

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

    Informations professionnelles :
    Activité : Engineering

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

    Une question : le pc sur lequel est installé Excel 2007 tourne sous Vista et celui sur lequel est installé Excel 97/2003 tourne sous Xp ?

    Ou bien sont-ils tous les deux sous Xp ?
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par fring Voir le message
    Bonjour,

    Une question : le pc sur lequel est installé Excel 2007 tourne sous Vista et celui sur lequel est installé Excel 97/2003 tourne sous Xp ?

    Ou bien sont-ils tous les deux sous Xp ?
    Salut merci de ton aide :
    Reponse les deux PC tourne sous XP SP2

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Quelle est la ligne de code qui renvoie l'erreur?
    As-tu essayé de déclarer MonOutlook comme Outlook.application? MonMessage comme Outlook.MailItem?
    La bibli de réfréence est bien cochée?
    C'est quoi la variable Raccourci?

    Bon courage,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Points : 364
    Points
    364
    Par défaut
    Trouvé sous ce lien : http://access.developpez.com/faq/?page=Bug#CompActivex

    ça peut aider ?




    "Cette erreur peut apparaître sur un poste alors que l'on n'a aucun problème sur un autre.
    - Soit il y a une erreur de code (voir le détail chez Microsoft en suivant le lien plus bas),
    - Soit la DLL DAO360.dll est absente (cas classique : il suffit de l'installer)
    - Soit elle est présente ... mais mal enregistrée.


    Microsoft conseille de désinstaller Office, puis de réinstaller.
    Généralement, après ça marche.


    Cas (très) particulier (et c'est la précision...) :
    Si l'utilitaire de sauvegarde automatique d'Outlook est installé (backup des *.pst), on obtient l'erreur 429. Si on le désinstalle, ça marche. Il semble donc que les 2
    soient incompatibles.


    L'erreur se déclenche uniquement si l'application "fille" (Word, Excel, Outlook...) est fermée. Si elle est ouverte, ça marche (CreateObject se comporte comme
    GetObject).


    Voila, nous n'avons aucune explication technique à cela ... mais la désinstallation du backup d'Outlook a résolu notre problème."


    Edit : j'oubliais le lien dont il est fait mention : http://support.Microsoft.com/default...d=kb;fr;244264

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    en ce qui concerne outlook.application et outlook.mailitem, je viens d'essayer et cela ne marche toujours pas : toujours la meme erreur sur la ligne
    Set MonOutlook = CreateObject("Outlook.Application")
    erreur d'execution 429 un composant activeX ne peut pas céer d'objet.

    la reference Microsoft outllok objet library est bien coché dans mes references.

    tu penses que cela peut venir du nom de mes variables MonOutlook et MonMessage?

  7. #7
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    tu penses que cela peut venir du nom de mes variables MonOutlook et MonMessage?
    Non, je ne pense pas.

    Regarde le message de Neupont, peut-être effectivement un pb d'installation.
    C'est quelle ligne qui renvoie l'erreur?

    Si l'erreur ne vient pas lors de l'instanciation de MonOutlook ni MonMessage, tu peux aussi ajouter l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMessage.BodyFormat = olFormatHTML
    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    reponse plus claire desolé je débute osus le forum

    J'ai l'impression que le fichier DAO360.dll est absent dans C:/windows/system32. (Mais present dans C:/Programs files /fichiers communs/Microsoft shared/ DAO)
    Pour l'installer, puis je sans risque faire un copier coller ou ya t-il une procedure speciale?

    Merci de ton aide

    Arrrrrgh, stp Monsieur
    Neupont j'ai encore besoin de toi...
    je resume :

    Dao360.dll installé sous C::Windows/system32... (jai fait un copier collé) OK
    library DAO 360 ajouté dans les ref du projet ....OK
    par desactivation du backup outlook, tu parle de l'archivage automatique?, si c'est le cas je l'ai desactivé et cela ne marche toujours pas
    sinon comment faire pour le desactiver, Merci

    peut tu m'aider

    merci

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    La place de DAO360.dll est bien dans C:/Program Files/Fichiers Communs/Microsoft Shared/DAO
    Inutile de la recopier.

    Par contre, tu peux essayer un regsvr32 de cette dll.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    Je n'arrive plus à retrouver où j'ai un jour pu lire que, dans certains cas, il fallait d'abord désenregistrer cette dll pui l'enregistrer à nouveau (mais je ne suis pas sûr de moi).

    Si les autres tentatives n'aboutissaient pas, tenter cette manoeuvre qui ne risque de toutes façons pas de nuire :

    1)

    regsvr32 -u "c:\program files\common files\microsoft shared\dao\dao360.dll"

    2)
    regsvr32 "c:\program files\common files\microsoft shared\dao\dao360.dll"

    en modifiant "common files" par "fichiers communs" au besoin (selon la version)

    EDIT :
    Ce n'était pas là que je l'avais lu, mais là aussi on parle de ce cas de figure :

    http://allenbrowne.com/ser-38.html

    En profiter pour tout lire...

  11. #11
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci a tous les deuxpour vos infos.

    Je test cela demain matin, (reunion toutes la journée) et je vous tiens au courant.

    Merci
    @plouch

  12. #12
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Re bonjour a tous,

    D'abord un grand merci pour votre aide.

    Alors, en fait, je pense que vous aviez tous un peu raison, DAO mal installer ou mal reconnu.
    En fait, les mises a jour automatique de mon pc etait bloqué par le serveur informatique. Apres debloquage et realisation des mise a jour tous fonctionne correctement.
    Je pense que la mise a jour office SP1 a fait une grosse partie du boulot.
    J'avais aussi deux mise a jour critique sur excel et une mise a jour des composant activeX pour windows.

    Voila donc en resume il faut commencer par le debut, soit, de faire les mises à jour.

    Merci encore pour votre aide

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/02/2014, 11h40
  2. [XL-2010] Problème compatibilité macro excel 2003 / 2010
    Par alf62000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2012, 17h43
  3. Pb de compatibilité macro regression lineaire excel 2007>2000
    Par youns0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/11/2010, 17h55
  4. [OpenOffice][Tableur] Compatibilité Macro Excel/Open Office
    Par Bondin dans le forum OpenOffice & LibreOffice
    Réponses: 7
    Dernier message: 06/03/2009, 09h43
  5. Probleme lancement macro excel 2007
    Par nico63vb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/03/2007, 13h55

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