Comment savoir la ressource du classeur Excel en cours d'utilisation

Bonjour toutes et tous

une question m'a été posé et hélas! j'ai répondu : heu! j'vais voir cela! hic!

(cela reste entre nous) bon apparemment la gentille dame était plus calée que moi dans ce domaine (la honte ! )

En mode session Admin et non guest/invité de notre poste de travail

-Syst.Expl. ou O;S :Windows 10, 8 (peu importe la version et en 32/64 bits)

Comment savoir la ressource du classeur EXCEL en cours d'utilisation

Sans effectuer avec l'aide de notre clavier sur les touches CTRL+ Alt + Sup. pour aller dans le gestionnaire des tâches

pouvons-nous savoir dans 1 cellule (exemple B1) la ressource approximative de notre classeur actif ouvert donc actif

Note: je ne joins pas de fichier car je ne sais pas désolé

est-ce Static, (en faite je ne sais pas du tout!)

merci de vos lumières

crdlt,

André

bonjour,

essaie ceci

edit : j'ai mal compris la question, ceci est une solution pour savoir si un classeur est déjà ouvert.

Sub aargh()
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Title = "Fichier excel à ouvrir"
        .Filters.Clear
        .Filters.Add "Excel files", "*.XLS*"
        If .Show = True Then
            fname = .SelectedItems(1)
        Else
            MsgBox "pas de fichier sélectionné"
        End If
    End With
    On Error Resume Next
    Open fname For Input Lock Read As 1
    If Err = 70 Then MsgBox "déja ouvert"
    Close 1
    On Error GoTo 0
End Sub

Coucou et Merci H2s04

ceci donne, une recherche de ton classeur Excel avec un message si ton classeur est ouvert ou pas , un début de piste pour la suite afin de savoir la ressource système utilisée du classeur Excel actif et le transmettre soit en cellule B1' ou par msgbox' (peu importe')

merci à toi

J'ai mis ci-joint voir ce que cela donné avec ton code pour avoir une meilleure approche:

crdlt,

André

Bonjour André13,

j'ai pas compris si tu attends encore quelque chose ou si la proposition te convient ?

Qu'entends-tu par "ressource système utilisée du classeur Excel Actif" ?

re,

en faites c'est la ressource mémoire lorsqu'on effectue ctrl+alt+sup pour le gestionnaire des tâches

en image) et savoir si cela est possible sans effectuer de ctrl+alt+sup de pourvoir transcrire dans une cellule 42.7Mo (voir image)

{username}

Note: ne pas se prendre la tête si infaisable, merci, juste m'le dire

zmemoire

Bonjour André13,

Il faut utiliser WmiService.

ci-dessous exemple :

Sub analyse()
    Dim WMIService As Object, processus As Object, process As Object, processTime As Single
    Const strComputer As String = "."

    Set WMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    'Assignation Processus Windows excel.exe
    Set processus = WMIService.ExecQuery("Select * from Win32_Process Where Name = 'excel.exe'")
    'Balayage Processus Windows excel.exe
    For Each Process In processus
        processTime = (CDec(Process.KernelModeTime) + CDec(Process.UserModeTime)) / 10000000
        MsgBox "Temps CPU " & Round(processTime, 0) & " secondes"
        MsgBox "Mémoire nécessaire " & Round(Process.WorkingSetSize / 1048576, 0) & " Mo"
        MsgBox "Mémoire utilisée " & Round(Process.PageFileUsage / 1024, 0) & " Mo"
    Next

End Sub

Et voir ce lien : https://docs.microsoft.com/en-us/previous-versions/tn-archive/ee176718(v=technet.10)

^^^merci Thev

franchement chapeaux

je m'y attendais pas du tout

merci pour le lien doc (dommage qu'il est en English, j'vais voir si il est en français quelque part, bon Google translate sa ira un peu mieux)

je mets le fichier au cas ou

merci

bonjour,

voici un exemple d'exploitation des données du ressource manager et du performance manager

Edit : je vois que Thev (que je salue bien bas ) , t'a répondu.

Sub aargh()
    Set Query = GetObject("winmgmts:\\.\root\CIMV2")
    Set result = Query.ExecQuery ("SELECT * FROM Win32_Process where name ='EXCEL.EXE'", , 48)
    For Each Process In result
    k = k + 1
    Cells(k, 1) = "********************"
        For Each Item In Process.properties_
            k = k + 1
            Cells(k, 1) = Item.Name
            If UCase(Item.Name) = "PROCESSID" Then pid = Item.Value
            Cells(k, 2) = Item.Value
        Next Item

    Set result1 = Query.ExecQuery("Select * from Win32_PerfFormattedData_PerfProc_Process where idprocess='" & pid & "'", , 48)
    For Each Process1 In result1
        For Each Item In Process1.properties_
            k = k + 1
            Cells(k, 1) = Item.Name
            Cells(k, 2) = Item.Value
        Next Item
    Next
        Next
End Sub

Re, merci H2so4

J'ai testé Waouah supppeeeerrr !

j'ai juste rajouter

On Error Resume Next en dessous de result1 du code

^^

merci

bon dimanche

Rechercher des sujets similaires à "comment savoir ressource classeur cours utilisation"