Modifier une celulle

Résolu
Bonjour,

Est il possible de changer une formulle dans une celulle toute les 30 secondes
par exemple en b3 = page 5! b1
devinet apres 30 secondes V devient b3 = page 5! b2
30 apres devient b3 = page 5! b3 içnci de suite jusqu a b3 = page 5! b90
ensuite fint de macro
merci pour toutes reponces a ce sujet

2 réponses

  1. Bonjour,

    Oui sans problème !

    Sub Code()
    
    Sheets(1).Range("B3") = Sheets(5).Range("B1")
    
    For i = 2 To 90
    
    Application.Wait Time + TimeSerial(0, 0, 5)
    
    Sheets(1).Range("B3") = Sheets(2).Range("B" & i)
    
    Next i
    
    End Sub
    


    Cordialement.
    0
    1. Bonjour Kuartz,

      le soucis avec application.wait, c'est le blocage d'Excel le temps de l'attente, mais peut-etre que ca ne gene pas le demandeur
      0
    2. @f894009Bonjour f894009,

      Oui je suis d'accord. J'ai fait selon la demande sans plus de précision mais je préfère de loin ton code.
      0
    3. @KuartzRe,

      Ok
      0
    4. @f894009Bonjour;
      J'ai pris la solution de f894009, car elle me convient parfaitement.
      Par contre je voudrais savoir si je peut continuer a travaillier dans ma page sans que cela jene ce modulle, car le nombre qui s'affiche dois etre mis dans une autre celulle le a elle a aussi une macro qui est lancer automatiquement.
      0
    5. @Dandy_danbeBonjour,

      Justement la solution par
      Application.Ontime
      permet de donner la main a l'utilisateur, sauf le temps d'execution de la macro Comptage qui est assez court. Par contre votre macro automatique ne doit pas avoir un temps d'execution de 30 secondes ou plus car elle sera interrompue par la macro Comptage et ca provoque des decalage dans le temps a la longue pour cette macro.
      0
  2. Bonjour,

    code a mettre dans un module:

    Dim Interval, x
    
    Sub Change_Formule()
    ' Touche de raccourci du clavier: Ctrl+k
        Interval = 30       'modifiable
        x = 1
        Call Comptage
    End Sub
    
    Sub Comptage()
        'adaptez le nom de feuille
        Worksheets("feuil1").Range("B3").FormulaLocal = "='page 5'!B" & x
        'incremente pointeur cellule
        x = x + 1
        'sortie
        If x > 90 Then Exit Sub
        'attente relance macro
        Application.OnTime Now + TimeValue("0:00:" & Interval), "Comptage"
    End Sub
    
    
    1
    1. Bonjour;
      un grand Merçi ca fonctionne très très bien, mais serait il possible d' ajouter un boutons pour faire une posse dans ce modulle afin d' interompre ce modulle et de le redemare ensuite a partir du poin arreter
      par ex. aretter a b30 et redemare a b31
      encore une fois un grant merci
      0