J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir
je dois empêcher la compilation d'une partie de mon code si on est sous
Windows NT 4.0. Savez-vous quelle est le nom de la variable conditionnelle
qui gère la version OS ? Il existe Win32 pour faire la différence entre 16
et 32 bits mais je ne connais pas le nom de celle qui gère WinNT, WinXP,
etc.
--
****************************************************************************
*****
Pour répondre à ce message, enlever "nospam" de l'adresse e-mail.
Merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christian Herbé
Olivier Guillou a écrit:
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir je dois empêcher la compilation d'une partie de mon code si on est sous Windows NT 4.0.
if Environ("OS")="Windows_NT" then
Tu peux obtenir la liste des variables d'environnement (variables du système) en tapant la commande SET dans une fenetre DOS
Olivier Guillou a écrit:
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir
je dois empêcher la compilation d'une partie de mon code si on est sous
Windows NT 4.0.
if Environ("OS")="Windows_NT" then
Tu peux obtenir la liste des variables d'environnement (variables du
système) en tapant la commande SET dans une fenetre DOS
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir je dois empêcher la compilation d'une partie de mon code si on est sous Windows NT 4.0.
if Environ("OS")="Windows_NT" then
Tu peux obtenir la liste des variables d'environnement (variables du système) en tapant la commande SET dans une fenetre DOS
Olivier Guillou
ok merci bcp Christian.
olivier
"Christian Herbé" a écrit dans le message de news:
Olivier Guillou a écrit:
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir
je dois empêcher la compilation d'une partie de mon code si on est sous Windows NT 4.0.
if Environ("OS")="Windows_NT" then
Tu peux obtenir la liste des variables d'environnement (variables du système) en tapant la commande SET dans une fenetre DOS
ok merci bcp Christian.
olivier
"Christian Herbé" <herbe@nancy.inra.fr> a écrit dans le message de news:
3F73FCD5.4070004@nancy.inra.fr...
Olivier Guillou a écrit:
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A
savoir
je dois empêcher la compilation d'une partie de mon code si on est sous
Windows NT 4.0.
if Environ("OS")="Windows_NT" then
Tu peux obtenir la liste des variables d'environnement (variables du
système) en tapant la commande SET dans une fenetre DOS
"Christian Herbé" a écrit dans le message de news:
Olivier Guillou a écrit:
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir
je dois empêcher la compilation d'une partie de mon code si on est sous Windows NT 4.0.
if Environ("OS")="Windows_NT" then
Tu peux obtenir la liste des variables d'environnement (variables du système) en tapant la commande SET dans une fenetre DOS
Frédéric Sigonneau
Bonsoir,
Pour repérer quel est l'OS utilisé, je pense qu'il faut passer par la fonction API GetWindowsExA. Je crains que la solution de Christian ne renvoie la même réponse pour Windows NT, 2000, XP, et sans doute 2003 parce qu'Environ ne semble pas permettre de faire la différence entre la plateforme et ses versions. L'instruction Application.OperatingSystem n'est guère plus précise. Il y a aussi des solutions utilisant le FileSystemObject (une recherche sur google te permettrait d'en trouver des exemeples), mais je trouve l'API plus prodigue en renseignements possibles. Tu pourrais essayer une petite fonction perso de ce style, après avoir recopié le code dans un module standard du projet où tu veux l'utiliser :
'================================ Private Declare Function GetVersionExA Lib "Kernel32" _ (lpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type
Sub test() MsgBox IsWindowsNT End Sub
Function IsWindowsNT() As Boolean Dim VerInfo As OSVERSIONINFO
End Function '================================ Si tu as besoin de distinguer Windows NT 4.0 des autres versions de NT, relance.
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir je dois empêcher la compilation d'une partie de mon code si on est sous Windows NT 4.0. Savez-vous quelle est le nom de la variable conditionnelle qui gère la version OS ? Il existe Win32 pour faire la différence entre 16 et 32 bits mais je ne connais pas le nom de celle qui gère WinNT, WinXP, etc.
-- **************************************************************************** ***** Pour répondre à ce message, enlever "nospam" de l'adresse e-mail. Merci.
Pour repérer quel est l'OS utilisé, je pense qu'il faut passer par la fonction
API GetWindowsExA. Je crains que la solution de Christian ne renvoie la même
réponse pour Windows NT, 2000, XP, et sans doute 2003 parce qu'Environ ne semble
pas permettre de faire la différence entre la plateforme et ses versions.
L'instruction Application.OperatingSystem n'est guère plus précise. Il y a aussi
des solutions utilisant le FileSystemObject (une recherche sur google te
permettrait d'en trouver des exemeples), mais je trouve l'API plus prodigue en
renseignements possibles.
Tu pourrais essayer une petite fonction perso de ce style, après avoir recopié
le code dans un module standard du projet où tu veux l'utiliser :
'================================ Private Declare Function GetVersionExA Lib "Kernel32" _
(lpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Sub test()
MsgBox IsWindowsNT
End Sub
Function IsWindowsNT() As Boolean
Dim VerInfo As OSVERSIONINFO
End Function
'================================
Si tu as besoin de distinguer Windows NT 4.0 des autres versions de NT, relance.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir
je dois empêcher la compilation d'une partie de mon code si on est sous
Windows NT 4.0. Savez-vous quelle est le nom de la variable conditionnelle
qui gère la version OS ? Il existe Win32 pour faire la différence entre 16
et 32 bits mais je ne connais pas le nom de celle qui gère WinNT, WinXP,
etc.
--
****************************************************************************
*****
Pour répondre à ce message, enlever "nospam" de l'adresse e-mail.
Merci.
Pour repérer quel est l'OS utilisé, je pense qu'il faut passer par la fonction API GetWindowsExA. Je crains que la solution de Christian ne renvoie la même réponse pour Windows NT, 2000, XP, et sans doute 2003 parce qu'Environ ne semble pas permettre de faire la différence entre la plateforme et ses versions. L'instruction Application.OperatingSystem n'est guère plus précise. Il y a aussi des solutions utilisant le FileSystemObject (une recherche sur google te permettrait d'en trouver des exemeples), mais je trouve l'API plus prodigue en renseignements possibles. Tu pourrais essayer une petite fonction perso de ce style, après avoir recopié le code dans un module standard du projet où tu veux l'utiliser :
'================================ Private Declare Function GetVersionExA Lib "Kernel32" _ (lpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO dwOSVersionInfoSize As Long dwMajorVersion As Long dwMinorVersion As Long dwBuildNumber As Long dwPlatformId As Long szCSDVersion As String * 128 End Type
Sub test() MsgBox IsWindowsNT End Sub
Function IsWindowsNT() As Boolean Dim VerInfo As OSVERSIONINFO
End Function '================================ Si tu as besoin de distinguer Windows NT 4.0 des autres versions de NT, relance.
FS -- Frédéric Sigonneau [MVP Excel - né un sans-culottide] Gestions de temps, VBA pour Excel : http://perso.wanadoo.fr/frederic.sigonneau Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
J'aurai besoin de faire de la compilation conditionnelle sous VBA. A savoir je dois empêcher la compilation d'une partie de mon code si on est sous Windows NT 4.0. Savez-vous quelle est le nom de la variable conditionnelle qui gère la version OS ? Il existe Win32 pour faire la différence entre 16 et 32 bits mais je ne connais pas le nom de celle qui gère WinNT, WinXP, etc.
-- **************************************************************************** ***** Pour répondre à ce message, enlever "nospam" de l'adresse e-mail. Merci.
En utilisant Evaluate et la fonction de feuille INFO, il y a ça : MsgBox [mid(info("origin"),find(":",info("origin"))+1,9^9)] .....mais comme je n'ai pas Win NT (donc pas de test possible), je livre en l'état :
AV
En utilisant Evaluate et la fonction de feuille INFO, il y a ça :
MsgBox [mid(info("origin"),find(":",info("origin"))+1,9^9)]
.....mais comme je n'ai pas Win NT (donc pas de test possible), je livre en
l'état :
En utilisant Evaluate et la fonction de feuille INFO, il y a ça : MsgBox [mid(info("origin"),find(":",info("origin"))+1,9^9)] .....mais comme je n'ai pas Win NT (donc pas de test possible), je livre en l'état :