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 :

Cohabiter - Private Declare sur Excel 2007 32 Bits et 2016 64Bits [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut Cohabiter - Private Declare sur Excel 2007 32 Bits et 2016 64Bits
    Bonjour,

    J'ai un fichier Excel (version 2007 32bits) avec du code VBA et des déclarations de variables... J'ai cependant besoin de le faire aussi tourner sur un Office 2016 64Bits...

    Si j'ai bien compris... la déclaration des variables changent, il faudrait y ajouter la commande : "PtrSafe"

    J'ai donc modifié le code, mais je n'arrive pas à le faire cohabiter avec le code du 2007...

    J'ai trouvé ceci sur la toile, mais cela ne fonctionne pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #If VBA7 Then
        Declare PtrSafe Function ...
    #Else
        Declare Function ...
    #End If
    Pourriez-vous m'aider ? Voici mon 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
    #If VBA7 Then
       Private Declare PtrSafe Function GetWindowLongA Lib "User32" _
      (ByVal hwnd As Long, ByVal nIndex As Long) As Long
     
    Private Declare PtrSafe Function SetWindowLongA Lib "User32" _
      (ByVal hwnd As Long, ByVal nIndex As Long, _
      ByVal dwNewLong As Long) As Long
     
    Private Declare PtrSafe Function FindWindowA Lib "User32" _
      (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    #Else
        Private Declare Function GetWindowLongA Lib "User32" _
      (ByVal hwnd As Long, ByVal nIndex As Long) As Long
     
    Private Declare Function SetWindowLongA Lib "User32" _
      (ByVal hwnd As Long, ByVal nIndex As Long, _
      ByVal dwNewLong As Long) As Long
     
    Private Declare Function FindWindowA Lib "User32" _
      (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    #End If
    Ps : Sur Excel 2007, le code avec "PtrSafe" apparait en rouge...

    Merci d'avance pour votre aide :-)
    Bon week-end

  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, à toi de voir et appliquer : Développer avec Office 64 bits

    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 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 éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Salut,

    Merci pour le conseil :-)

    Mais juste pour info, j'ai trouvé, c'est
    Bon dimanche à toutes et tous :-)

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

Discussions similaires

  1. vb6 ou vba - lenteur execution macro sur excel 2007
    Par Enigme dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/03/2010, 13h50
  2. probleme exportation Etat sur Excel 2007
    Par Nanouche dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/12/2007, 09h42
  3. Equivalent de Application.FileSearch sur Excel 2007
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/10/2007, 17h09
  4. Barre d'erreur et graphiques sur Excel 2007
    Par Killerboy dans le forum Excel
    Réponses: 4
    Dernier message: 08/08/2007, 16h23
  5. Pb d'insertion d'image avec une macro sur Excel 2007
    Par tigrou42 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/05/2007, 00h48

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