XL 2016 Macro ne fonctionne plus sur Excel 2016

pad01

XLDnaute Occasionnel
Bonjour le Forum,
J'ai récupéré sur le forum un fichier de kjin sur un QCM.
Sur Excel 2010, il fonctionne à merveille mais sur Excel 2016, les liaisons avec les userforms ne se font plus (les écritures n'apparaissent plus).
Pouvez-vous m'apporter de l'aider et m'expliquer ce dysfonctionnement car je crains rencontrer cette difficulté sur d'autre fichier.
Merci de votre aide
Bien à vous
 

Pièces jointes

  • QCM_Test.xls
    474 KB · Affichages: 14

Staple1600

XLDnaute Barbatruc
Re,

Tu ne m'as dit si tu avais été lire la doc de Microsoft?
(voir le lien que je t'ai mis dans le message#17)
Car on y trouve l'exemple d'écriture à utiliser
VB:
#if Vba7 then 
'  Code is running in the new VBA7 editor 
     #if Win64 then 
     '  Code is running in 64-bit version of Microsoft Office 
     #else 
     '  Code is running in 32-bit version of Microsoft Office 
     #end if 
#else 
' Code is running in VBA version 6 or earlier 
#end if 
 
#If Vba7 Then 
Declare PtrSafe Sub... 
#Else 
Declare Sub... 
#EndIf
 

Staple1600

XLDnaute Barbatruc
Re

Regardes cet exemple (toujours issu de la maison mère)
Copie tout ce qui tel quel (dans un module standard)
VB:
#If VBA7 Then    ' VBA7
Declare PtrSafe Function SHBrowseForFolder Lib "shell32.dll" _
  Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Public Type BROWSEINFO
  hOwner As LongPtr
  pidlRoot As Long
  pszDisplayName As String
  lpszTitle As String
  ulFlags As Long
  lpfn As LongPtr
  lParam As LongPtr
  iImage As Long
End Type
 
#Else    ' Downlevel when using previous version of VBA7
Declare Function SHBrowseForFolder Lib "shell32.dll" _
  Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Public Type BROWSEINFO
  hOwner As Long
  pidlRoot As Long
  pszDisplayName As String
  lpszTitle As String
  ulFlags As Long
  lpfn As Long
  lParam As Long
  iImage As Long
End Type
 
#End If
Sub TestSHBrowseForFolder()
    Dim bInfo As BROWSEINFO
    Dim pidList As Long
    bInfo.pidlRoot = 0&
    bInfo.ulFlags = &H1
    pidList = SHBrowseForFolder(bInfo)
End Sub
Et testes sur deux version différentes d'Excel

Donc c'est sur ce modèle (mais Roland_M l'avait déjà fait) qu'il faut modifier les déclarations dans le Module2 du fichier de kjin.
(et peut-être aussi dans la déclaration de l'Userform1)
 

pad01

XLDnaute Occasionnel
Bonsoir le Forum
Pour Staple, j'ai lu la Doc Microsoft. Mais j'avoue avoir du mal et je ne connaissais pas les # dans l'écriture du code. Le forum sert aussi à améliorer. Merci pour ton aide.
Pour Roland_M, merci de l'aide et d'avoir réécrit le fichier. Effectivement il fonctionne sous 2010 et 2016. Reste à le tester sous 2019.
Un Merci à tous les contributeurs pour mon sujet qui aidera mes camarades pour leur futur examen de fin d'année
A+
 

Discussions similaires