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 :

Macro 32 vers 64


Sujet :

VBA Outlook

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 28
    Par défaut Macro 32 vers 64
    Bien le bonjour à tous,

    j'ai quelques difficultées à comprendre comment modifier ma macro qui fonctionne très bien sur 32 bit pour qu'elle fonctionne aussi sur du 64 bit.
    Si elle pouvait fonctionner sur les 2 cela serait plus simple, mais quand je lis les docs, cela à l'air compliqué.

    Si vous pouviez m'aiguiller pour savoir quoi ajouter/modifier pour la version 64 bit vous seriez fort sympathique !
    En vous remerciant d'avance.

    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
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
       Dim monMail As MailItem                                                                  'Message
       Dim monRecip As Recipient                                                                'Destinataire
       Dim index As Integer
       Dim bool As Boolean
       Dim sAdresse, sDomaine, sMessage As String
       Const PR_SMTP_ADDRESS As String = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E" 'Mappe l’adresse SMTP du destinataire
     
       If TypeName(Item) = "MailItem" Then                                                      'Que si l'action est de type message
          Set monMail = Item
          sMessage = "Veuillez confirmer l'envoi de votre email aux destinataires extérieurs ci-dessous :" & vbLf & vbLf
          bool = False
     
          For Each monRecip In monMail.Recipients                                                'Pour chaque destinataire
            sAdresse = LCase(CStr(monRecip.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)))       'Convertit adresse en string et la met en minuscule
            index = InStr(sAdresse, "@")                                                         'Récupère l'index ou est placer le @
            sDomaine = Mid(sAdresse, index)                                                      'Récupère tout à partir du @ (on récupère donc le domaine)
     
            If sDomaine <> "@blabla.com" Then                                                     'On ajoute a la chaîne que si l'adresse ne correspond pas à notre domaine
               sMessage = sMessage & sAdresse & vbLf                                             'On créer le message
               bool = True
            End If
          Next
     
          If bool = True Then
            If MsgBox(sMessage, vbYesNo, "Attention") = vbNo Then                                'On envoi le message et on attend le retour utilisateur
                Cancel = True                                                                    'Dans le cas ou l'utilisateur annule
            End If
          End If
       End If
    End Sub

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, toujours d'actualité : Développer avec Office 64 bits

    Cela d'autant plus que même Microsoft déconseille l'installation d'une version 64 bits d'Office.

    Office 32 bits est recommandé pour la plupart des utilisateurs
    Nous recommandons la version 32 bits d’Office pour la plupart des utilisateurs, car elle offre une plus grande compatibilité avec la plupart des autres applications, en particulier les compléments tiers. C’est la raison pour laquelle la version 32 bits d’Office 2013 est installée par défaut, même sur les systèmes d’exploitation Windows 64 bits. Sur ces systèmes, le client Office 32 bits est pris en charge en tant qu’installation Windows-32-on-Windows-64 (WOW64). WOW64 est l’émulateur x86 qui permet l’exécution de façon transparente des applications Windows 32 bits sur les systèmes Windows 64 bits. Cela permet aux utilisateurs de continuer à utiliser les contrôles ActiveX et les compléments COM Microsoft avec la version 32 bits d’Office.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 28
    Par défaut
    Salut Kiki.
    Je suis bien d'accord sur le office 64 .... Mais on a des fichier excel de plusieurs million de lignes (oui oui..) et supérieur à 2Go. Donc pas beaucoup de solution.
    Je vais étudier ton lien.

    Merci !

  4. #4
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Qu'est ce qui ne fonctionne pas dans ton code ?

    Je n'ai jamais travaillé avec les version 64bits mais en principe ce qui pose problème c'est les références à des dll externes non ?
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 28
    Par défaut
    Citation Envoyé par Oliv- Voir le message
    Bonjour,
    Qu'est ce qui ne fonctionne pas dans ton code ?

    Je n'ai jamais travaillé avec les version 64bits mais en principe ce qui pose problème c'est les références à des dll externes non ?

    Salut Oliv,

    C'est ce que je pensais aussi.
    Ce code fonctionne parfaitement en 32 bit, il y a un certificat avec ce qui me permet de le déployer et de approuver l’éditeur de la macro (pour éviter qu'a chaque démarrage d'Outlook, qu'il demande d'activer la macro).
    Mais dans Office 64 bit, il détecte un problème de sécurité potentiel et ne laisse que l'option de "Désactiver les macros".

    Je me dis donc que cela doit venir d'une déclaration 32 qu'il n'aime pas en 64.
    Au vu de lien que je viens qu'on am donné plus haut, la seul modification que je vois à apporter serait sur cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    en ajoutant PtrSafe et la librairie adéquat. Mais je trouve pas du tout

  6. #6
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Essaye en réduisant dans un premier temps la sécurité des macros. en cochant "activer toutes les macros..."
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

Discussions similaires

  1. macro envoyer vers/destinataire vba
    Par criskéké dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/09/2007, 13h01
  2. Migrer macro excel vers open office (VB vers Ooo) comment faire?
    Par cyberdevelopment dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/02/2007, 21h04
  3. Macro Word vers TeX (Word2Tex)
    Par rpapa dans le forum Editeurs / Outils
    Réponses: 11
    Dernier message: 13/05/2006, 20h49
  4. [automation] macro word vers access
    Par gukki dans le forum Access
    Réponses: 1
    Dernier message: 20/12/2005, 16h56
  5. Porter une macro Excel vers OpenOffice
    Par totofweb dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 13/07/2004, 13h20

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