Comment voir toutes les informations de votre PC en utilisant un simple script VBA Excel

Excel et 10 minutes de travail vous donneront des informations plus détaillées sur votre ordinateur que vous n'auriez jamais cru possible. Cela semble trop beau pour être vrai? C'est Windows, si vous savez comment l'utiliser.

Excel et 10 minutes de travail vous donneront des informations plus détaillées sur votre ordinateur que vous n'auriez jamais cru possible.  Cela semble trop beau pour être vrai?  C'est Windows, si vous savez comment l'utiliser.
Publicité

Avez-vous déjà eu besoin de connaître les détails de la CPU ou de la mémoire de votre ordinateur, le numéro de série ou de modèle ou les versions logicielles installées, mais vous ne savez pas où chercher? Avec juste un peu de code simple dans Excel, vous pouvez extraire une bibliothèque complète de votre PC Windows. Avez-vous obtenu le PC que vous avez commandé? Découvrez ces outils d'information système [Windows] Avez-vous obtenu le PC que vous avez commandé? Découvrez ces outils d'information système [Windows] Avez-vous récemment acheté un PC? Si oui, était-ce personnalisé? Par personnalisé, je veux dire assemblé par un magasin d'informatique local, ou même par quelqu'un que vous connaissez qui construit et vend des ordinateurs. Si vous ... Lisez plus.

Cela semble trop beau pour être vrai? Eh bien, c'est Windows, si vous savez comment l'utiliser.

Vous devrez peut-être vous salir les mains, mais dans cet article, nous vous fournirons tout le code dont vous avez besoin, et comment le mettre dans Excel et le faire fonctionner. Une fois que vous avez terminé, vous aurez une feuille Excel qui, chaque fois que vous l'ouvrirez, vous dira tout ce que vous avez toujours voulu savoir sur votre système informatique.

Notez que ceci fonctionnera seulement avec la version de bureau d'Excel, que vous pouvez obtenir avec un essai gratuit d'Office 6 façons que vous pouvez utiliser Microsoft Office sans payer pour cela 6 façons que vous pouvez utiliser Microsoft Office sans payer pour cela Avez-vous besoin de Microsoft Office, mais n'aime pas l'étiquette de prix? Nous vous montrons des alternatives gratuites, y compris des essais gratuits et des versions légères ou mobiles de la suite Microsoft Office. Lire la suite .

La magie de WMI

Sur n'importe quel ordinateur exécutant un système d'exploitation Microsoft, vous avez accès à un puissant ensemble d'extensions appelé WMI (Windows Management Instrumentation), qui vous fournit une méthode très puissante et étendue pour accéder aux informations et spécifications de votre ordinateur, système d'exploitation. savoir si vous êtes sur une version 64 bits de Windows 4 Façons faciles à savoir si vous utilisez une version 64 bits de Windows Utilisez-vous un processeur qui prend en charge un système d'exploitation 64 bits et exécutez-vous un 64 système d'exploitation -bit? L'utilisateur de PC hors-jeu moyen ne connaît probablement pas les réponses à ces questions, bien qu'ils devraient .... Lire la suite, et les logiciels installés.

wmiwindows

Comment faire pour écrire un script Windows pour modifier les paramètres réseau à la volée Comment écrire un script Windows pour modifier les paramètres réseau à la volée Dans de nombreux bureaux ou environnements de travail, vous devrez peut-être redéfinir vos paramètres réseau sur se connecter à différents réseaux. Je me suis retrouvé dans cette situation assez souvent, et suis tellement fatigué de la navigation vers la ... Lire la suite des langages de programmation comme VBA Comment vous pouvez faire votre propre application simple avec VBA Comment vous pouvez faire votre propre application simple avec VBA Pour ceux de vous qui aimeriez vraiment être en mesure d'écrire votre propre application, mais n'ont jamais tapé une seule ligne de code avant, je vais vous guider à travers votre ... Lire la suite, disponible dans presque tous les produits Microsoft Office.

Configuration de votre feuille de calcul automatisée

Tout d'abord, créez votre nouveau classeur Excel et appelez-le comme MyComputerInfo. xlsm (Macro activée). Ouvrez-le, ignorez la feuille Sheet1 et renommez les 11 feuilles suivantes comme suit:

  • Réseau
  • LogicalDisk
  • Processeur
  • Mémoire physique
  • Contrôleur vidéo
  • Appareils embarqués
  • Système opérateur
  • Imprimante
  • Logiciel
  • Comptes
  • Prestations de service

Ceux-ci contiendront tous les détails de votre ordinateur, et seront mis à jour chaque fois que vous ouvrez cette feuille de calcul Excel.

wmi1

Ensuite, allez dans l'élément de menu Developer et sous la section Controls, cliquez sur View Code .

wmi2

Si vous ne voyez pas l'élément de menu Développeur, cliquez sur Fichier> Options> Personnaliser le ruban, modifiez les commandes Choisir dans la liste déroulante à Tous les onglets, sélectionnez Développeur et appuyez sur le bouton Ajouter >> pour l'ajouter au côté ruban personnalisé. Assurez-vous que la case Développeur de ce côté est sélectionnée une fois que vous l'avez ajoutée.

wmi3

Une fois que vous êtes à l'intérieur de l'éditeur de code VBA Surveillez si vos applications VBA fonctionnent avec ce script Slick Monitor Si vos applications VBA sont exécutées avec ce script Slick Lire la suite, tout ce que vous avez à faire est d'ajouter les scripts ci-dessous à un module. Ces scripts vont faire le gros du travail. Vous n'avez pas besoin d'écrire ce code vous-même, il suffit de le copier et de le coller comme indiqué ci-dessous.

Une fois que vous avez terminé de copier et coller en utilisant le code dans la section suivante, tout ce que vous avez à faire est d'ajouter un peu plus de code pour charger vos feuilles, et vous avez terminé.

OK, prêt à copier et coller? Allons-y.

Construire vos modules WMI

L'inspiration pour ce code provient d'une fantastique ressource Google Sites appelée Beyond Excel. L'exemple présenté ici est un sous-programme appelé WMI (), qui transmet toutes les informations réseau de votre ordinateur à la zone de débogage de l'environnement de programmation Excel.

Bien sûr, cela ne nous fait pas beaucoup de bien, j'ai donc modifié le code pour afficher tous les détails dans l'une des feuilles que vous avez créées dans la première étape de ce guide.

Dans la zone de navigation de codage, vous verrez également une section intitulée Modules et un composant sous Module1 . Double-cliquez dessus pour l'ouvrir. Si le dossier Modules n'apparaît pas, développez Insérer dans le menu et sélectionnez Module .

wmi5

Cette zone est l'endroit où tous les sous-programmes utiliseront WMI pour extraire toutes les informations importantes sur votre ordinateur et les charger dans les feuilles que vous avez créées.

Placez les lignes suivantes tout en haut de la fenêtre de code tout seul.

Public oWMISrvEx As Object 'SWbemServicesEx Public oWMIObjSet As Object 'SWbemServicesObjectSet Public oWMIObjEx As Object 'SWbemObjectEx Public oWMIProp As Object 'SWbemProperty Public sWQL As String 'WQL Statement Public n 

Cela devrait ressembler à ceci quand vous avez fini:

wmi5

Collez le code suivant dans Module1 sous les lignes que vous venez de créer:

 Sub NetworkWMI() sWQL = "Select * From Win32_NetworkAdapterConfiguration" Set oWMISrvEx = GetObject("winmgmts:root/CIMV2") Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL) intRow = 2 strRow = Str(intRow) ThisWorkbook.Sheets("Network").Range("A1").Value = "Name" ThisWorkbook.Sheets("Network").Cells(1, 1).Font.Bold = True ThisWorkbook.Sheets("Network").Range("B1").Value = "Value" ThisWorkbook.Sheets("Network").Cells(1, 2).Font.Bold = True For Each oWMIObjEx In oWMIObjSet For Each oWMIProp In oWMIObjEx.Properties_ If Not IsNull(oWMIProp.Value) Then If IsArray(oWMIProp.Value) Then For n = LBound(oWMIProp.Value) To UBound(oWMIProp.Value) Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value(n) ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value(n) ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str(intRow) Next Else ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str(intRow) End If End If Next 'End If Next End Sub 

Maintenant, vous allez créer une fonction identique pour chaque feuille que vous avez créée dans la première partie de ce guide avec quelques différences mineures.

Par exemple, vous copiez ensuite ce code ci-dessus pour NetworkWMI (), collez-le sous la fin de ce code, puis remplacez "NetworkWMI ()" par "LogicalDiskWMI ()"

Il y a seulement quelques sections que vous devez changer pour que ce code remplisse la bonne feuille.

Change ça:

 sWQL = "Select * From Win32_NetworkAdapterConfiguration" 

Pour ça:

 sWQL = "Select * From Win32_LogicalDisk" 

Changez ces quatre lignes:

 ThisWorkbook.Sheets("Network").Range("A1").Value = "Name" ThisWorkbook.Sheets("Network").Cells(1, 1).Font.Bold = True ThisWorkbook.Sheets("Network").Range("B1").Value = "Value" ThisWorkbook.Sheets("Network").Cells(1, 2).Font.Bold = True 

Pour ça:

 ThisWorkbook.Sheets("LogicalDisk").Range("A1").Value = "Name" ThisWorkbook.Sheets("LogicalDisk").Cells(1, 1).Font.Bold = True ThisWorkbook.Sheets("LogicalDisk").Range("B1").Value = "Value" ThisWorkbook.Sheets("LogicalDisk").Cells(1, 2).Font.Bold = True 

Changez ces deux lignes:

 ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value(n) 

Pour ça:

 ThisWorkbook.Sheets("LogicalDisk").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("LogicalDisk").Range("B" & Trim(strRow)).Value = oWMIProp.Value(n) 

Et ces trois lignes:

 ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft 

Pour ça:

 ThisWorkbook.Sheets("LogicalDisk").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("LogicalDisk").Range("B" & Trim(strRow)).Value = oWMIProp.Value ThisWorkbook.Sheets("LogicalDisk").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft 

Maintenant, vous avez presque fini!

Répétez ce qui précède pour chaque onglet de votre classeur. Les fonctions seront les suivantes:

  • "ProcessorWMI ()" pour la feuille "Processeur".
  • "PhysicalMemWMI ()" pour la feuille "Physical Memory".
  • "VideoControlWMI ()" pour la feuille "Contrôleur vidéo".
  • "OnBoardWMI ()" pour la feuille "OnBoardDevices".
  • "PrinterWMI ()" pour la feuille "Imprimante".
  • "OperatingWMI ()" pour la feuille du système d'exploitation.
  • "SoftwareWMI ()" pour la feuille "Logiciel".
  • "ServicesWMI ()" pour la feuille "Services".

Les objets spéciaux "Win32_" que vous devez utiliser pour accéder à ces informations sur votre ordinateur sont les suivants:

  • Win32_NetworkAdapterConfiguration - Tous vos paramètres de configuration réseau
  • Win32_LogicalDisk - Disques avec des capacités et de l'espace libre.
  • Win32_Processor - Spécifications du processeur
  • Win32_PhysicalMemoryArray - RAM / Taille de la mémoire installée
  • Win32_VideoController - Carte graphique et paramètres
  • Win32_OnBoardDevice - Périphériques de la carte mère
  • Win32_OperatingSystem - Quelle version de Windows avec le numéro de série
  • WIn32_Printer - Imprimantes installées
  • Win32_Product - Logiciels installés
  • Win32_BaseService - Liste les services en cours d'exécution (ou arrêté) sur n'importe quel PC avec le chemin d'accès et le nom de fichier du service.

Terminez copier / coller et peaufiner chacune de ces fonctions dans la zone Module1 du code. Lorsque vous avez terminé, passez à la section suivante de ce guide.

N'oubliez pas d'enregistrer votre code dans la vue VB! Si vous avez initialement enregistré votre classeur avec le type de fichier .xls, Excel vous demandera maintenant d'utiliser un type de fichier compatible avec la macro, tel que .xlsm .

Chargement automatique du classeur

Maintenant que vous avez créé toutes ces fonctions puissantes, tout ce qui reste est de les exécuter chaque fois que le classeur est ouvert. Faire cela est vraiment facile.

Dans le navigateur d'objets de gauche, sous Objets Microsoft Excel, vous devriez voir ThisWorkbook . Double-cliquez sur cet objet pour l'ouvrir.

wmi6

En haut de la zone de code, il y a deux listes déroulantes, modifiez la gauche vers Workbook et la droite vers Open .

wmi7

Vous verrez une fonction générée automatiquement pour vous, appelée Private Sub Workbook_Open () .

À l'intérieur, tapez les lignes de code suivantes pour que la fonction ressemble à ceci:

 Private Sub Workbook_Open() NetworkWMI LogicalDiskWMI ProcessorWMI PhysicalMemWMI VideoControlWMI OnBoardWMI PrinterWMI SoftwareWMI OperatingWMI ServicesWMI End Sub 

Maintenant, chaque fois que vous ouvrez le classeur, chacune de vos nouvelles fonctions sera appelée, récupérez toutes les données. Visualisez vos données et créez vos feuilles de calcul Convivial avec un tableau de bord Excel Visualisez vos données et rendez vos feuilles de calcul conviviales avec un tableau de bord Excel Parfois un format de feuille de calcul simple ne vous engage pas assez pour rendre vos données accessibles. Un tableau de bord vous permet de présenter vos données les plus importantes dans un format facile à digérer. Lire la suite de l'ordinateur et le charger dans la feuille appropriée.

Pour le voir en action, enregistrez le code, fermez la fenêtre de code, enregistrez le classeur et fermez-le également. Rouvrez le fichier que vous venez de fermer et vous découvrirez que chaque feuille contient des volumes de données sur votre ordinateur.

Étant donné que le classeur contient des macros, qui peuvent être désactivées pour des raisons de sécurité, vous devrez peut-être cliquer sur Activer le contenu en haut de la feuille pour les données à collecter.

Attention - il recueille beaucoup de données, attendez donc quelques minutes pour le charger quand vous ouvrez le fichier.

Collecte d'informations sur l'ordinateur

La chose incroyable à propos de l'utilisation de WMI pour cela est que les données ci-dessus ne sont que la pointe de l'iceberg. Il existe des centaines de classes WMI supplémentaires contenant des informations sur tous les aspects de votre système informatique.

Si vous étiez aventureux et que vous vouliez aller un peu plus loin, vous pourriez transformer la première feuille du classeur en tableau de bord Construisez votre propre tableau de bord météo Dans cette feuille de calcul Google Créez votre propre tableau de bord météo dans cette classe Google Master Class Souhaitez-vous transformer votre compte Google Drive en un système d'analyse météo intelligent et vivre une fantaisie Star Trek? D'accord! En savoir plus et utilisez les données des autres feuilles pour alimenter ce tableau de bord.

En fin de compte, en utilisant ce nouvel outil, vous pourrez collecter et afficher plus d'informations que la plupart des experts informatiques. IT Knowledge Exchange - Une version gratuite d'Experts Exchange! IT Knowledge Exchange - Une version gratuite d'Experts Exchange! En savoir plus même réaliser est disponible sur un système informatique, et vous serez en mesure de le faire en une fraction du temps que ces mêmes experts passent à creuser à travers le panneau de contrôle et les zones administratives à la recherche de ces détails.

Est-ce que vous vous voyez construire et utiliser un outil comme celui-ci? Êtes-vous un programmeur VBA 4 grands sites Web pour vous faire un Visual Basic Guru 4 grands sites Web pour vous faire un Visual Basic Guru Vous voulez apprendre Visual Basic? Voici d'excellentes ressources pour vous aider à démarrer. Lire la suite et avez-vous déjà utilisé des cours WMI? Partagez vos propres expériences et idées dans la section des commentaires ci-dessous!

Crédits image: Adriano Castelli via Shutterstock.com, Mclek via Shutterstock

In this article