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
 

Staple1600

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

Re, bonjour fhoest

Lone-Wolf:
Ne vaudrait-il pas mieux ouvrir un fil dédié à tes questions sur WMI ?

Sinon (toujours adapté du lien que j'ai mis plus bas)
Code:
Sub test()
Dim objOS
On Error Resume Next
' Connect to WMI and obtain instances of Win32_OperatingSystem
For Each objOS In GetObject( _
"winmgmts:").InstancesOf("Win32_OperatingSystem")
MsgBox "Memoire = " & objOS.TotalVisibleMemorySize
Next
If Err <> 0 Then
MsgBox Err.Description
Err.Clear
End If
End Sub
D'autres scrips adaptables (dont le premier ;) ) en VBA
Ce lien n'existe plus
(la source est toujours la même)
 
Dernière édition:

Lone-wolf

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

Staple, désolé mais là je cale à mort. :eek:

Message d'erreur: Propriété ou Méthode non gérée par le système. :(

Pour la RAM, j'ai vu ceci:

Code:
...determine how much RAM is installed in a computer?	Use the Win32_ComputerSystem class and check the value of the TotalPhysicalMemory property.
VB

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
    ("Select * from Win32_ComputerSystem")
For Each objComputer in colSettings 
    Wscript.Echo "System Name: " & objComputer.Name
    Wscript.Echo "Total Physical Memory: " & _
        objComputer.TotalPhysicalMemory
Next

Au faite
la source est toujours la même

Le VBA ressemble a CHARMED: CALL <test> - LA SOURCE (est toujours la même);
ça me fou la trouille tout ça.



A+ :cool:


Amicalement
Lone-wolf
 
Dernière édition:

Lone-wolf

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

Bonsoir à tous,

Avant toute chose, je tiens à vous dire qu'il n'y a pas d'OS ;) dans le fichier joint, suite aux remarques faites par les XLDiens.

Dites-moi ce que ça donne chez vous s.v.p. . Merci pour votre collaboration.


A+ :cool:


Amicalement
Lone-wolf
 

Pièces jointes

  • Informations Système.xls
    57.5 KB · Affichages: 106
  • Informations Système.xls
    57.5 KB · Affichages: 104
  • Informations Système.xls
    57.5 KB · Affichages: 104

JCGL

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

Bonjour à tous,

Il doit y avoir un problème avec la détetcton de la mémoire :

Capture_1.png

A + à tous
 

Pièces jointes

  • Capture_1.png
    Capture_1.png
    19.5 KB · Affichages: 175
  • Capture_1.png
    Capture_1.png
    19.5 KB · Affichages: 177

Lone-wolf

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

Bonsoir Jean Claude,

Avec Excel 2010 mettre (objC.TotalVisibleMemorySize / 1000000 + 0.14, 2)

Testé sur PC portable.


A+ :cool:

Amicalement
Lone-wolf
 
Dernière édition:

JCGL

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

Bonjour à tous,

Capture du Gestionnaire de Tâches :

Capture_3.png

A + à tous
 

Pièces jointes

  • Capture_3.png
    Capture_3.png
    14.2 KB · Affichages: 173
  • Capture_3.png
    Capture_3.png
    14.2 KB · Affichages: 178

Lone-wolf

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

Re,

ça donne 3.93Go et toi Attention!!!...0.77Go??? :confused:

La ligne avec Application.WorksheetFunction.Round était dans le fichier de Didier, je l'ai copiée et rajouté 0.07 pour avoir le chiffre
rond de 4.00.


Sans titre.jpg Sans titre.gif


EDIT: je viens de modifier cette ligne:

StrResults = StrResults & " Mémoire (RAM) installée Lone-Wolf : " & Application.WorksheetFunction.Round(((objC.TotalVisibleMemorySize / 1024) / 1024), 0) & " Go" & vbCrLf & vbCrLf

ça me donne 4 Go, testé aussi sur Excel 2010 sans le bout de code que Jean Claude à rajouter.



A+ :cool:

Amicalement
Lone-wolf
 

Pièces jointes

  • Sans titre.jpg
    Sans titre.jpg
    72.1 KB · Affichages: 119
  • Sans titre.jpg
    Sans titre.jpg
    72.1 KB · Affichages: 122
  • Sans titre.gif
    Sans titre.gif
    8.3 KB · Affichages: 114
  • Sans titre.gif
    Sans titre.gif
    8.3 KB · Affichages: 109
  • Informations Système.xls
    65.5 KB · Affichages: 104
  • Informations Système.xls
    65.5 KB · Affichages: 101
  • Informations Système.xls
    65.5 KB · Affichages: 104
Dernière édition:

david84

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

Bonjour,
@LoneWolf :
Nom de l'ordinateur: DAVID-PC
Edition: Microsoft Windows 7 Édition Familiale Premium
Version: 6.1.7601
Processeur : Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz - 64 bits
Mémoire (RAM) installée 6,34.00 Go
Service Pack 1

Peux-tu me communiquer les résultats des tests demandés au message 65 ?
A+
 

Lone-wolf

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

Bonsoir david, désolé pour le retard; mais travail oblige.

Testé sur Excel 2007 et 2010

La macro de Staple:

Code:
Sub a() 'renvoie 32 sur un PC sous XP HOME SP3)
Dim OSVER
Set OSVER = GetObject("winmgmts:root\cimv2:Win32_Processor='cpu0'")
MsgBox OSVER.addresswidth & "-bit"
End Sub

Me renvois 64-Bit

La macro test()

Code:
Sub test()
MsgBox Application.OperatingSystem
End Sub

Me renvois Windows(32bit) NT 6.01


Quand à ma dernière macro modifiée, testée sur PC (Écran non tactile HP avec Excel 2007) et portable Acer avec Excel 2010 mon donné 4Go.


Pourquoi chez vous le résultat est faussé? Est-ce que les paramètres régionaux France pour vous et Suisse pour moi, font qu'il y ai cette différence?? :confused: :confused:


A+ :cool

Amicalement
Lone-wolf
 

david84

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

Re
Pourquoi chez vous le résultat est faussé? Est-ce que les paramètres régionaux France pour vous et Suisse pour moi, font qu'il y ai cette différence??

Pour moi les résultats ne sont pas faux mais tu ne me donnes pas toutes les infos demandées dans mon message : détaille-moi STP pour chaque ordinateur les infos demandées dans mon message #65 (notamment quel système d'exploitation (XP, Vista, Seven,...), quel est le type de système de l'OS (32 ou 64 bits) et pour l'ordinateur où Office 2010 est installé, s'il est installé en 32 ou 64 bits (je parle bien de la version d'installation d'Office, installée par défaut en 32 bits, et non du nombre de bits de ton système d'exploitation).

Suis s'il te plaît le déroulé du message 65 et répond pas à pas, et ce pour chaque ordinateur testé.
A+
 
Dernière édition:

JNP

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

Re :),
Le test mémoire fonctionne chez moi :

attachment.php


Question bête : pourquoi passer en 64bits et n'avoir que 4Go, alors qu'un des principaux avantages du 64 est de gérer au dela des 4Go :rolleyes: ?
Bonne suite :cool:



Capture.JPG
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    31.8 KB · Affichages: 189
  • Capture.JPG
    Capture.JPG
    31.8 KB · Affichages: 188

Lone-wolf

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

Re David,

Les deux sont sous Seven Edition Familiale Premium. Si tu aurais regarder mes précédents messages j'ai mis toutes les infos que tu demande à part le portable.

Écran non tactile HP avec Excel 2007 - 64Bits --------et---------Portable Acer avec Excel 2010 64Bits.


220567d1334004327-comment-savoir-si-lutilisateur-est-sous-xp-ou-seven-sans-titre.gif


A+:cool:


Amicalement
Lone-wolf
 

Lone-wolf

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

Bonsoir JNP,

Faut le demander aux constructeurs des machines; et si je veux avoir 8Go, faut que je change ma carte mère (et tout le reste) par une carte belle-mère LOL!! :D ;)

A+ :cool:


Amicalement
Lone-wolf
 

YANN-56

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

Pardon à tous!

Etant à l'origine de la discussion, je me permets ce trait d'humour:
Pourquoi en avoir 32 ou 64 alors qu'une seule c'est déjà pas facile à suivre; m'a demandé ma copine?

Ma conclusion vient que l'ajout du "PtrSafe" modifiant le code de mon Classeur ci-joint
est recraché automatiquement à l'écriture car de suis en Office 2003 et of Course en 32 Bits

David84 a eu une remarquable patience à m'en expliquer les détails, et je lui renouvelle mes remerciements.:)

Sauf si quelqu'un en version 32 Bits Office 2003 peut adapter mon code " MASQUER_BANDE_BLEUE "...
Je suis preneur, car je dois patiner quelque part!

Le but final étant que ma bidouille fonctionne avec 2010 en 64 Bits,
et que je puisse modifier ce code sans avoir des lignes en rouge

Sinon: Bravo à vous tous pour le savoir que vous démontrez.

Amicalement,

Yann
 

Pièces jointes

  • UN.xls
    44 KB · Affichages: 109
  • UN.xls
    44 KB · Affichages: 112
  • UN.xls
    44 KB · Affichages: 111