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 :

Incompatibilité excel 2010 32bits et 64bits


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 16
    Par défaut Incompatibilité excel 2010 32bits et 64bits
    Bonjour,

    Je souhaite supprimer la croix des formulaires.

    j'ai récupéré un code qui fonctionne bien sous excel 2010 32bits mais si je teste sur un ordinateur qui a excel 2010 64bits ca ne fonctionne pas!
    Du coup j'ai trouvé un autre code qui fonctionne sous 64bits mais qui ne fonctionne plus sous 32bits...


    voici le 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
    'code pr excel 2010 32bits
     
    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
     
     
    Private Sub UserForm_Initialize()
    Dim hwnd As Long
    hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") & "Frame", Me.Caption)
    SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
    End Sub
     
     
     
    ' code pour excel 2010 64 bits
     
    Private Declare PtrSafe Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As Long) As LongPtr
     
    Private Declare PtrSafe Function SetWindowLongPtr Lib "USER32" Alias "SetWindowLongA" (ByVal hWnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
     
    Private Declare PtrSafe Function FindWindow Lib "USER32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
     
     
    Private Sub UserForm_Initialize()
    Dim hWnd As LongPtr
    hWnd = FindWindow("Thunder" & IIf(Application.Version Like "8*", _
        "X", "D") & "Frame", Me.Caption)
    SetWindowLongPtr hWnd, -16, GetWindowLong(hWnd, -16) And &HFFF7FFFF
    End Sub
    donc ensuite j'ai essayé de récupérer la version d'excel et d'écrire le code correspondant selon la version. Mais quand je veux parcourir mes feuilles il me met "erreur défini par l'application ou par l'objet". Et je comprend pas pourquoi il bloque là dessus(code en gras):

    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
    Private Sub fctdeclare()
    
    Dim i As Integer
    Dim vbs As Variant
    
        If Application.Version = "12.0" Then 'version excel 2007
      
            For Each vbs In Me.VBProject.VBComponents
                
                If Left(vbs.Name, 2) = "UF" And vbs.Name <> "UF_InfoMolecule" then
                  ...mon code pr ecrire...  
                End If
        
            Next
      end if
    end sub
    voilà si quelqu'un à déjà eu ce problème, c'est avec plaisir que j'accepte son aide
    merci d'avance.

    gwen

  2. #2
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Bonjour,

    Un article sur le sujet :
    http://arkham46.developpez.com/artic...ice/vba64bits/

Discussions similaires

  1. [AC-2013] Migration access 2010 32bits vers access 2013 64bits
    Par Gerard.chery dans le forum Access
    Réponses: 2
    Dernier message: 10/11/2014, 11h35
  2. [Toutes versions] Excel & Mscomctl : pb compatibilité 32Bits vs 64Bits
    Par Rikky13 dans le forum Excel
    Réponses: 13
    Dernier message: 28/06/2013, 20h19
  3. Incompatibilité Excel 2000 et 2003 ?
    Par in dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2007, 12h00
  4. [9207] Migration d'une base de 9207 32bits vers 64bits
    Par Cyborg289 dans le forum Oracle
    Réponses: 3
    Dernier message: 27/10/2006, 18h33
  5. Passer de la debian 32bits en 64bits ?
    Par Michaël dans le forum Debian
    Réponses: 8
    Dernier message: 17/08/2006, 10h20

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