Bonjour,
J'ai un petit soucis avec un code en VBA. Il doit pouvoir fonctionner via VBA 7 et via les versions antérieures.
Il s'agit de récupérer les dimensions de l'écran via une API. Au moment de la déclaration de l'API, j'ai fait une déclaration conditionnée par la version de VBA utilisée, mais Excel n'arrive pas à compiler le code : j'ai une erreur me disant qu'il faut mettre à jour le code pour qu'il fonctionne sur un système 64bit, ce qui est précisément ce que j'essaie de faire...
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 Option Explicit 'Déclaration de l'API #If VBA7 Then Private Declare PtrSafe Function GetSystemMetrics Lib "USER32" (ByVal nIndex As Long) As Long #Else Private Declare Function GetSystemMetrics Lib "USER32" (ByVal nIndex As Long) As Long #End If '#################################################### '#################################################### Function Taille_Ecran() '----------Commentaire---------------------------------------------------- ' 'Permet de récupérer la tailler de l'écran de l'utilisateur. En sortie, une liste de 5 paramètres : 'Sortie (1): Largeur 'Sortie (2): Hauteur 'Sortie (3): rapport 'Sortie (4): Activation scroll (vrai ou faux) 'Sortie (5) : Erreur : vrai ou faux '----------Déclaration des variables locales--------------------------------- Dim Largeur As Integer Dim Hauteur As Integer Dim Rapport_HL As Double Dim Activation_Scroll As Boolean Dim Erreur_Recup_Donnee As Boolean Dim Tableau_Sortie() As Variant '----------Initialisation des variables locales-------------------------------- Erreur_Recup_Donnee = False Activation_Scroll = False ReDim Tableau_Sortie(5) '----------Code----------------------------------------------------------- On Error GoTo Gestion_erreur Largeur = GetSystemMetrics(0) Hauteur = GetSystemMetrics(1) Rapport_HL = Largeur / Hauteur Tableau_Sortie(1) = Largeur Tableau_Sortie(2) = Hauteur Tableau_Sortie(3) = Rapport_HL Tableau_Sortie(4) = Activation_Scroll Tableau_Sortie(5) = False Taille_Ecran = Tableau_Sortie() Exit Function Gestion_erreur: Tableau_Sortie(1) = 0 Tableau_Sortie(2) = 0 Tableau_Sortie(3) = 0 Tableau_Sortie(4) = False Tableau_Sortie(5) = True Taille_Ecran = Tableau_Sortie() End Function
Si quelqu'un à une idée de ce qui cloche, je suis preneur ! Merci d'avance.
Partager