État de la pile en vba

  • Initiateur de la discussion Initiateur de la discussion Temjeh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Temjeh

XLDnaute Accro
Bonjour et merci d'avance

J'ai ceci trouvé sur le net qui fonctionne:
Code:
Private Type SYSTEM_POWER_STATUS
ACLineStatus As Byte
BatteryFlag As Byte
BatteryLifePercent As Byte
Reserved1 As Byte
BatteryLifeTime As Long
BatteryFullLifeTime As Long
End Type
Private Declare Function GetSystemPowerStatus Lib "kernel32" (lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
Private Sub GetBatteryStatus()
Dim SPS As SYSTEM_POWER_STATUS
'get the battery powerstatus
GetSystemPowerStatus SPS
'show some information
Select Case SPS.ACLineStatus
Case 0
MsgBox "AC power status: Offline"
Case 1
MsgBox "AC power status: OnLine"
Case 2
MsgBox "AC power status: Unknown"
End Select
Select Case SPS.BatteryFlag
Case 1
MsgBox "Battery charge status: High"
Case 2
MsgBox "Battery charge status: Low"
Case 4
MsgBox "Battery charge status: Critical"
Case 8
MsgBox "Battery charge status: Charging"
Case 128
MsgBox "Battery charge status: No system battery"
Case 255
MsgBox "Battery charge status: Unknown Status"
End Select
End Sub

Avez vous une idée pour avoir le pourcentage.
Ce code donne si chargeur branché et si pile High ou Low seulement.

Temjeh
 
Re : État de la pile en vba

Bonjour Temjeh,

un essais avec ces lignes, à inserer après End Select.

percent = SPS.BatteryLifePercent
MsgBox ("Percent battery life remaining: " & (percent * 10) / 100) & "%"


EDIT: Bonjour Modeste geedee, et oui on s'est croisés. 😉



A+ 😎
 
Dernière édition:
Re : État de la pile en vba

Bonjour

Désolé je me suis répond rapidement.

Le code moi je l'ai mis dans le Userform à l'initialisation et vue sous un label:
Aussi sur userform clic pour que quand je touche a ma tablette il uptdate le %:

Code:
Private Type SYSTEM_POWER_STATUS
ACLineStatus As Byte
BatteryFlag As Byte
BatteryLifePercent As Byte
Reserved1 As Byte
BatteryLifeTime As Long
BatteryFullLifeTime As Long
End Type
Private Declare Function GetSystemPowerStatus Lib "kernel32" (lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long

Private Sub UserForm_Initialize()
Dim SPS As SYSTEM_POWER_STATUS
GetSystemPowerStatus SPS
Label3.Caption = SPS.BatteryLifePercent & " %"
If SPS.BatteryLifePercent = 255 Then Label3.Caption = "Aucune"
End sub

Private Sub UserForm_Click()
Dim SPS As SYSTEM_POWER_STATUS
GetSystemPowerStatus SPS
Label3.Caption = SPS.BatteryLifePercent & " %"
If SPS.BatteryLifePercent = 255 Then Label3.Caption = "Aucune"
End Sub

Donne la valeur 255 quand on n'a pas de batterie (Plus jolie quand j'ouvre de mon PC brancher)
Temjeh
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour