IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Timer dans une boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Par défaut Timer dans une boucle
    Bonjour
    VOila j'ai des valeurs à lire dans un fichier, mais je cherche à savoir combien de valeur ya dans un espace de temps, pr cela j'ai pensé à faire un timer et le regler sur une 1Minute et une boucle pour le calcul des valeurs enregistrées.

    Jespere que j été assez clair

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub TEST()
    Dim NoFichier As Integer
    Dim NomFichier As String
    Dim i As Long
    Dim b As Byte
    NoFichier = FreeFile
    NomFichier = "Chemin complet de la dll"
     
    Open NomFichier For Binary Access Read Lock Read As #NoFichier
       i = 0
       For i = 1 To 16
       Get #NoFichier, , b
          Cells(i, "A") = b
       Next
    fin:
     
       Close #NoFichier
     
    End Sub

  2. #2
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re, pour savoir combien de boucles tu peux effectuer en 1 minute, tu peux essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
     
     
    Public Declare Function GetTickCount Lib "kernel32" () As Long
     
    Sub CombienDeBoucles()
    Dim maString As String
    Dim Debut As Long, Fin As Long
    Dim i As Long
    i = 0
     
    Debut = GetTickCount()
    Fin = Debut + 60000
     
    Do While GetTickCount < Fin
        i = i + 1
        TEST
    Loop
    MsgBox i & " boucles effectuées en 1 minute."
    End Sub
    Sub TEST()
    Dim NoFichier As Integer
    Dim NomFichier As String
    Dim i As Long
    Dim b As Byte
    NoFichier = FreeFile
    'NomFichier = "Chemin complet de la dll"
     NomFichier = "C:\Program Files\Acer\OrbiCam10\EFVal.dll"
    Open NomFichier For Binary Access Read Lock Read As #NoFichier
       i = 0
       'Boucle d'écriture des valeurs sur la feuille
       For i = 1 To 16
       Get #NoFichier, , b
          Cells(i, "A") = b
    'pour l'avoir sur une ligne
    'Cells(1, i) = b
       Next
    Fin:
     
       Close #NoFichier
     
    End Sub

    @+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Par défaut
    Moi je cherche à savoir combien d'enregistrement par minute

    Merci à toi fred

  4. #4
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re
    combien d'enregistrements de quoi, tu peux certainement adapter le code donné précédemment.
    Sinon, donne plus d'explications, ma boule de cristal est en réparation.
    @+

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Par défaut
    Citation Envoyé par fred65200 Voir le message
    re, pour savoir combien de boucles tu peux effectuer en 1 minute, tu peux essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Option Explicit
     
     
    Public Declare Function GetTickCount Lib "kernel32" () As Long
     
    Sub CombienDeBoucles()
    Dim maString As String
    Dim Debut As Long, Fin As Long
    Dim i As Long
    i = 0
     
    Debut = GetTickCount()
    Fin = Debut + 60000
     
    Do While GetTickCount < Fin
        i = i + 1
        TEST
    Loop
    MsgBox i & " boucles effectuées en 1 minute."
    End Sub
    Sub TEST()
    Dim NoFichier As Integer
    Dim NomFichier As String
    Dim i As Long
    Dim b As Byte
    NoFichier = FreeFile
    'NomFichier = "Chemin complet de la dll"
     NomFichier = "C:\Program Files\Acer\OrbiCam10\EFVal.dll"
    Open NomFichier For Binary Access Read Lock Read As #NoFichier
       i = 0
       'Boucle d'écriture des valeurs sur la feuille
       For i = 1 To 16
       Get #NoFichier, , b
          Cells(i, "A") = b
    'pour l'avoir sur une ligne
    'Cells(1, i) = b
       Next
    Fin:
     
       Close #NoFichier
     
    End Sub

    @+
    merci mais pour la reponse, mais quand je le met sous excel, j'arrive pas à l'enregistrer...je dis le lier à une macro, sauf que sous excel2007 j'y arrive pas et c'est le seul outil que j'ai entre les mains...si vous pouvez me donner un coup de main merci!!

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Si tu utilises une macro (non dans un module) change (ligne 2) le mot Public par le mot Private.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 209
    Par défaut
    c'est pas un probleme de private ou public
    j'arrive pas à enregistrer le code...
    le prog me renvoi ceci :

    les fonctionalités suivantes de peuvent pas etre enregistrer dans de classeurs sans macro :
    *Projet VBA

    Donc ma question est : comment crée une macro et associé le bout de code avec en excel2007 ?
    Merci

  8. #8
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    re
    enregistre au format .xlsm
    Classeur Excel prenant en charge les macros
    ou
    au format .xls --> Classeur Excel 97-2003


  9. #9
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    Bonjour Kalvin_20, Ucfoutu,

    que veux tu faire exactement.
    Cette macro fonctionne sur Excel 2007
    @+

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir, Fred62500,

    Ce "chronométrage" ne serait vraiment justifié que dans le cadre de la mise en oeuvre de l'évolution d'une barre de progression.

    Mais alors (donc si tel était le cas), une telle méthode n'aurait réellement de sens que si le fichier texte dont il s'agit était un fichier structuré (et dans un tel cas, plus besoin de chronométrer quoi que ce soit ... il suffirait en effet alors de : 1) calculer d'emblée le nombre d'articles en divisant la longueur du fichier par celle de la structure et de donner ce nombre à la valeur maxi de la barre, puis, tout simplement, d'incrémenter d'une unité à chaque Get)

Discussions similaires

  1. Problème de timer dans une boucle GetMessage/DispatchMessage
    Par Captain'Flam dans le forum Windows
    Réponses: 4
    Dernier message: 07/10/2014, 23h11
  2. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19
  3. swf dans une boucle asp
    Par Chucky69 dans le forum Flash
    Réponses: 11
    Dernier message: 10/02/2004, 17h07
  4. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 14h37
  5. Pause dans une boucle
    Par HT dans le forum Langage
    Réponses: 4
    Dernier message: 03/06/2003, 08h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo