Compatibilité Excel 2010 32 bits et 64 bits

Bonjour à tous,

Voici mon problème :

Ma société m'a fourni un fichier excel qui exécute une macro. je l'ai testé sur mon ordi pas de soucis!

Elle doit être installé chez des clients et la Problème.

ça Bug!!!!!!

J'ai pu voir d'où venait le problème chez le client sa version d'excel est 2010 64 bits.

voici le code qui se met en rouge

[b]

Declare Function OpenProcess Lib "kernel32" _
                             (ByVal dwDesiredAccess As Long, _
                              ByVal bInheritHandle As Long, _
                              ByVal dwProcessId As Long) As Long

Declare Function GetExitCodeProcess Lib "kernel32" _
                                    (ByVal hProcess As Long, _
                                     lpExitCode As Long) As Long[/b]

Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const STILL_ACTIVE = &H103

est ce qu'avec ce bout de code il y a une possibilité de m'aider

Merci au forum

Il faut mettre des PtrSafe et des longptr

Declare PtrSafe Function OpenProcess Lib "kernel32" _
                             (ByVal dwDesiredAccess As Longptr, _
                              ByVal bInheritHandle As Longptr, _
                              ByVal dwProcessId As Longptr) As Longptr

Declare ptrsafe Function GetExitCodeProcess Lib "kernel32" _
                                    (ByVal hProcess As Longptr, _
                                     lpExitCode As Longptr) As Longptr

Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const STILL_ACTIVE = &H103

Tu peux utiliser les constantes de compilation suivates Win64 et VBA7

#if Win64 then
   Declare PtrSafe Function OpenProcess Lib "kernel32" _
                             (ByVal dwDesiredAccess As Longptr, _
                              ByVal bInheritHandle As Longptr, _
                              ByVal dwProcessId As Longptr) As Longptr

Declare ptrsafe Function GetExitCodeProcess Lib "kernel32" _
                                    (ByVal hProcess As Longptr, _
                                     lpExitCode As Longptr) As Longptr
#else
   'Ici tu mets ta partie Win32
#end if
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const STILL_ACTIVE = &H103

ok

Et bien je vais essayer et je vous tiens au courant.

Je vais me connecter chez le client

Merci

Bon je viens de tester avec le client..

en modifiant la macro, le message d'erreur n'apparait plus mais cela à engendrer d'autre problème notemment avec la commande

MkDir

je continue à chercher!!!

Merci

Mkdir peut beuguer pour deux raisons:

-Soit le dossier existe déjà:

Arranger de la sorte

chemin="C:"
If Dir(chemin & "\toto", 16) = "" Then
    MkDir (chemin & "\toto")
End If

-Soit pas d'accès en écriture au chemin.

Dans ce cas là voir avec l'admin pour donner accès ou écrire à un endroit où les droits écriture sont présents

Mon problème est totalement résolu

J'ai choisi la deuxième solution!!

Merci encore

bonne journée

Rechercher des sujets similaires à "compatibilite 2010 bits"