Comment savoir si l'utilisateur est sous XP ou Seven?

YANN-56

XLDnaute Barbatruc
Bonsoir à tous, ou Bonjour suivant l'heure,

J'utilise "GetDetailsOf" pour dresser la liste des propriétés résumées d'un document Word.
(Ce qui est du même tonneau pour un Excel)

Comme le sujet de la discussion ci-dessous le démontre:
https://www.excel-downloads.com/thr...ent-2-le-2-nest-pas-le-meme-chez-tous.153645/

Les n° d'Items sont différents!

J'ai pensé palier ce problème en adaptant mon code suivant le "Windows" utilisé.

Mais malgré moult recherches, je ne parviens pas à pomper son identité.

Mon application étant utilisée en réseau avec des versions différentes; c'est le désordre!

Si quelqu'un a une idée; je lui serai très reconnaissant.

Merci par avance,

Yann
 

YANN-56

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Promis ma Brigitte préférée, :):):)

Je n'ai tenu ma bouderie qu'un mois et demi.
(Pour moins d'un moi; il aurait fallu que je me remette au sport)

La richesse de XLD me manquait trop.
Il en va pour preuve les superbes aides reçues dans ce fil.
(Et pas que pour moi, ainsi que je le souhaite toujours)

Comme j'ai vu ta petite main prête à me donner une grande baffe,
je vais tout faire pour rester sage.

De la même façon, je n'oserai qu'une discrète bise.

Yves.......... T'as vu la rime?

P.S. Il y a vraiment de personnes qu'il est agréable de rencontrer ici.
 

YANN-56

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Re Bonsoir David, :)

L'ancien n'est plus en l'état de manipuler VBA. Le sommeil y mettra de l'ordre.

Quand le coq de la voisine m'aura tant agacé pour que je sorte du lit,
je regarderai attentivement ce que tu me suggères.

Je tiens à ne pas laisser tomber cette affaire.

A demain si tu es là.

En tous les cas; mes meilleurs souhaits pour cette fin de semaine.

Yann
 

Lone-wolf

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour Yann,


un petit avencement sur le schmilblick:

Code:
Function getOS() As String
   On Error Resume Next
        Set oShell = CreateObject("wscript.Shell")
        Set env = oShell.environment("Process")
         
        strComputer = env.Item("Computername")
         
        Dim objWMIService
        Dim colItems, objItem
         
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        Set colItems = objWMIService.ExecQuery _
        ("Select * from Win32_OperatingSystem")
         
    For Each objItem In colItems
        getOS = "Vous utilisez:" & vbCr & vbCr & _
            "Système d'Exploitation: " & objItem.Caption & vbCr & vbCr & _
            "Version:" & " " & objItem.version & " " & objItem.CSDVersion & vbCr & _
            Application.OperatingSystem
    Next objItem
    Set objItem = Nothing
End Function

A+ :cool:

Amicalement
Lone-wolf
 

Pièces jointes

  • Version Windows.xls
    45.5 KB · Affichages: 64
Dernière édition:

fhoest

XLDnaute Accro
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour à tous,
comme je constate que le fil a bien avancé , a vrai dire je n'ai pas tout lu tellement il s'est compliqué pour mon ptit niveau mais c'est toujours agréable de voir de nouvelle chose pour faire tourner les méninges,
Pour Lone_wolf , dans le poste #6 , j'ai proposé à Yves(Yann56) pour lire la version de windows complète le winver commande que tu peux mettre directement par le menu démarrer de windows . ainsi tu pourra savoir si tu es en 32 ou 64 bits.
il y a également la commande vba:

Code:
msgbox Application.operatingsystem
ceci te permettra de verifier ce que dit David,

je vous salut tous bon weekend de pâques et mangé beaucoup de chocolat (comme ça j'aurais beaucoup de boulot, car je travaille dedans).
A+ mes ami(e)s xldiens
Fred.
 

Lone-wolf

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour fhoest,

MDR :D

Voici ce que dit l'aide Excel sur Application.OperatingSystem:

Référence du développeur Excel - Application.OperatingSystem

Cette propriété renvoie le nom et le numéro de version du système d'exploitation actif, par exemple:
« Windows (32 bits) 4.00 » ou « Macintosh 7.00 ». Type de données String en lecture seule.

Je sais que c'est un 64 bits (pour moi 1 est amplement suffisante ;) :D :eek:), mais comme le dit Yann, il manque cette foutue correspondance.


Bonne fête de Pâques à toi aussi

A+ :cool:

Amicalement
Lone-wolf
 

Lone-wolf

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Re david,

j'utilise Office 2007 et mon OS est bel et bien en 64bits. Pour ce faire j'ai télécharger ce logiciel gratuit ici:

64bit-checker

Et voici le rapport de 64bit-check

Your Windows is detected as 64bit (x64).

--------------------------------//--------------------------------


Name: Windows 7 Home Premium
Version: 6.1.7601
Service Pack: Service Pack 1
Type: Multiprocessor Free
Install. Date: vendredi 16 septembre 2011
Processor: Your CPU supports 64bit (x64) operating systems.

--------------------------------//--------------------------------

64bit Checker, v1.1

Bonne fête de Pâques


A+ :cool:

Amicalement
Lone-wolf
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour à tous


Sous XP (mais cela apparemment change selon le PC), la ligne 1 renvoie WINDOWS XP
Code:
Sub a()
MsgBox Environ(14) ' test OK XP PRO + Excel 2003 : renvoie : OS=Windows XP
MsgBox Environ(19) ' dommage ! (XP Home SP3 + Excel 2000): renvoie OS=Windows_NT
End Sub

Je ne sais pas ce que cela renvoie sous Vista ou Seven.
Je vous laisse tester.
 

JCGL

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour à tous,

Voici le retour sous Seven 64 bits du code de l'Agrafe :

Capture_1.png

et

Capture_2.png

A + à tous
 

Pièces jointes

  • Capture_1.png
    Capture_1.png
    8.2 KB · Affichages: 117
  • Capture_1.png
    Capture_1.png
    8.2 KB · Affichages: 118
  • Capture_2.png
    Capture_2.png
    8.7 KB · Affichages: 110
  • Capture_2.png
    Capture_2.png
    8.7 KB · Affichages: 112

Staple1600

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour JCGL (merci d'avoir testé et de bien vouloir retester le code ci-dessous)


Pour quelle valeur de i , tu obtiens l'OS sous Seven ?
Code:
Sub Dans_Les_Environs_OUESTLOS()
Dim i
For i = 1 To 35
Debug.Print i & Space(10) & Environ(i)
Next i
End Sub

PS: Pour le fun, j'essaie d'adapter le code utilisant WMI pour éviter la boucle.
Sans succès pour le moment.
Si quelqu'un trouve avant moi , merci d'avance à lui.
 

JCGL

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour à tous,

Avec le code de l'Agrafe : Rien. Désolé l'ami...
Avec et testé sous XL 2003 et XL 2010 :
VB:
Option Explicit
Sub Dans_Les_Environs_OUESTLOS()
Dim i
For i = 1 To 35
'Debug.Print i & Space(10) & Environ(i)
Cells(i, 1) = Environ(i)
Next i
End Sub

Voir le fichier joint

A + à tous
 

Pièces jointes

  • JC Test Staple.xls
    26 KB · Affichages: 42
  • JC Test Staple.xlsm
    22.3 KB · Affichages: 54
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour à tous,
Juste pour contribuer:
avec le dernier code de Staple, sous Vista:
Le nom de l'Os est en 15 mais il renvoi
Code:
15          OS=Windows_NT
Si non je mets la liste intégrale des correspondances sous Vista
1 ALLUSERSPROFILE
2 APPDATA
3 asl.log
4 CLASSPATH
5 CommonProgramFiles
6 COMPUTERNAME
7 ComSpec
8 FP_NO_HOST_CHECK
9 HOMEDRIVE
10 HOMEPATH
11 LOCALAPPDATA
12 LOGONSERVER
13 NUMBER_OF_PROCESSORS
14 OnlineServices
15 OS
16 Path
17 PATHEXT
18 PCBRAND
19 PLATFORM
20 PROCESSOR_ARCHITECTURE
21 PROCESSOR_IDENTIFIER
22 PROCESSOR_LEVEL
23 PROCESSOR_REVISION
24 ProgramData
25 ProgramFiles
26 PSModulePath
27 PUBLIC
28 QTJAVA
29 RoxioCentral
30 SESSIONNAME
31 SystemDrive
32 SystemRoot
33 TEMP
34 TMP
35 USERDOMAIN
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Bonjour Efgé, re

Merci pour la liste
(Mais apparemment selon les PCs et ce qu'ils ont dans les tripes, ENVIRON peut varier.
Exemple sur le PC d'ou j'écris, c'est Environ(19) qui renvoie l'OS)

JCGL: Quand tu dis rien, tu veux dire que rien ne s'affiche dans le fenêtre d’exécution de VBE ?
Je suppose que Debug.Prrint fonctionne toujours sour Excel 2010.
(Dans VBE, Affichage/Fenêtre Exécution)

Suite PS: Je sèche toujours pour éviter la boucle avec l'objet WMI.
Personne n'aurai une idée pour ce faire?
 

Staple1600

XLDnaute Barbatruc
Re : Comment savoir si l'utilisateur est sous XP ou Seven?

Re

Etant actuellement sous XP, quelqu'un sous Vista ou Seven peut-il tester le code ci-dessous, svp
(car sous XP cela ne fonctionne pas et cela semble normal)

Code:
Sub Test4VistaSeven()
Dim Obj, oStr
Set Obj = GetObject("winmgmts:\\.\root\cimv2").InstancesOf("Win32_OperatingSystem")
Set oStr = Obj.ItemIndex(0)
MsgBox oStr.Description
End Sub
 

Statistiques des forums

Discussions
312 080
Messages
2 085 150
Membres
102 794
dernier inscrit
espinata