Effectivement, ce genre de compteur n'est prévu que si le script n'est pas fermé.
Pour faire un compteur qui fonctionnerait dans votre cas, il faudra envisager de stocker les données ailleurs.
Soit dans la base de donnée, soit dans un fichier .ini se qui serait plus "adapté".
Par contre si vous faites cela, il faut bien prendre en considération qu'à un instant T, il faut "initialiser" le fichier des compteurs.
Si ce fichier est laissé tel quel, il ne fera que rajouter à l'existant, vous devez donc prévoir de supprimer ce fichier pour repartir à zéro dans le cas d'un nouveau "comptage".
Voici une "ébauche" de code qui devrait s'approcher de ce que vous désirez :
Code : Tout sélectionner
$fCount = @ScriptDir & "\compteur.ini"
Global $Compteur1 = 0
Global $Compteur2 = 0
Global $Compteur3 = 0
Global $Error = 0
; Si le fichier de comptage n'existe pas, on le crée.
If Not FileExists($fCount) Then
If Not IniWrite($fCount, "Compteurs", "Compteur1", "0") Then $Error = 1
If Not IniWrite($fCount, "Compteurs", "Compteur2", "0") Then $Error = 1
If Not IniWrite($fCount, "Compteurs", "Compteur3", "0") Then $Error = 1
If $Error = 1 Then
MsgBox(16, "Erreur", "Impossible d'écrire dans le fichier de comptage")
Exit
EndIf
EndIf
; On lit les valeurs des compteurs du fichier .ini en les convertissant en nombre :
$Compteur1 = Number(IniRead($fCount, "Compteurs", "Compteur1", "-1"))
$Compteur2 = Number(IniRead($fCount, "Compteurs", "Compteur2", "-1"))
$Compteur3 = Number(IniRead($fCount, "Compteurs", "Compteur3", "-1"))
If $Compteur1 = "-1" or $Compteur2 = "-1" or $Compteur3 = "-1" Then
MsgBox(16, "Erreur", "Impossible de lire le fichier de comptage")
Exit
EndIf
Global $sData = "votre fonction ou valeur)
Switch $sData
Case "260662700"; si ceci est utilisé alors incrémenter la variable $Compteur1 de 1
$Compteur1 += 1
IniWrite($fCount, "Compteurs", "Compteur1", $Compteur1)
;.....
Case "293582885", "293583019"; si ceci est utilisé alors incrémenter la variable $Compteur2 de 1
$Compteur2 += 1
IniWrite($fCount, "Compteurs", "Compteur2", $Compteur2)
;......
Case "260666964", "260669423", "260669499", "260424832", "260664613" ; si ceci est utilisé alors incrémenter la variable $Compteur3 de 1
$Compteur3 += 1
IniWrite($fCount, "Compteurs", "Compteur3", $Compteur3)
;......
EndSwitch