Macro exel variation cellule dans le temps

Résolu
Tomtom41 -  
 Tomtom41 -
Bonjour,

Je suis novice dans excel et je voudrais faire une macro qui modifie la valeur d'une cellule tous les dixièmes ou centième de seconde en suivant une plage de données.

En détail :
de A1 à A365 j'ai des valeur et je souhaiterai que
B1=A1 pendant 1 dixième de seconde puis que B1=A2 pendant 1 dixième de seconde .... B1= A365.

Merci pour le coup de mains !!

2 réponses

  1. sofienexcel Messages postés 72 Statut Membre
     
    Bonjour,

    vous trouvez ci joint mon essai

    https://www.cjoint.com/c/EFslOtqqNKM
    0
    1. Tomtom41
       
      Comment puis-je exploiter votre lien ?

      Merci
      0
      1. baladur13 Messages postés 47321 Date d'inscription   Statut Modérateur Dernière intervention   14 387 > Tomtom41
         
        Bonjour
        Clic sur le lien pour ouvrir Cijoint puis faire un clic droit sur le lien EFslOtqqNKM_heure-automatique.xlsm enfin enregistrer afin de pouvoir ensuite l'ouvrir sous Excel ou Open-office
        0
      2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773 > Tomtom41
         
        Bonjour Tomtom, Baladur, Sofienexcel,

        @Tomtom : le lien proposé par sofienexcel est fiable. Le classeur proposé peut être téléchargé (procédure expliquée par Baladur13) sans souci.
        Il ne réponds pas exactement à votre question (du moins selon mon interprétation personnelle), mais offre des bases de réflexion.
        Nous attendons votre retour pour poursuivre.
        0
      3. Tomtom41 > pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Merci pour les infos et pour le temps passé,
        Néanmoins effectivement cela ne répond pas exactement a ma question...
        Les jours changent toutes les 10 seconde et je souhaiterai que cela se face tous les dixièmes ou centièmes de seconde.
        Merci quand même
        0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Voici pour toi :
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    
    Sub test()
    Dim i As Integer
    For i = 1 To 365
       [B1] = Range("A" & i)
        '100 = dixième de seconde
       Sleep 100 'pour avoir la précision au centième, indiquer ici 10 au lieu de 100
       DoEvents
    Next i
    End Sub

    0
    1. Tomtom41
       
      Bonjour,
      Il me met une erreur sur la fonction sleep ! Je n'arrive pas a appliquer cette macro...
      Merci quand même pour le coup de main !
      0
      1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773 > Tomtom41
         
        • Tu es en 32 ou 64 bits?
        • La ligne de code :

        Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

        est-elle bien placée en entête (tout en haut) de ton module?
        • As tu placé cette procédure dans un module standard?
        0
    2. Tomtom41
       
      je suis en 64 bits et je fais direct un copier collé de la macro dans un module simple...
      Message erreur :
      "le code contenu doit etre modifié pour un système 64 bits"
      "Vérifier les instructions déclare puis marquer avec attribut PTR safe"
      Merci
      0
      1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773 > Tomtom41
         
        Il faut remplacer la ligne :
        Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


        par :
        Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

        pour les versions 64 bits...
        0
      2. Tomtom41 > pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Super !

        C'est exactement ce dont j'avais besoin !!!

        Merci beaucoup pour le temps passé !

        A bientôt !
        0