XL 2019 Correction macro rotation feuille

pierrelcq

XLDnaute Junior
Bonjour,

J'utilise une macro pour faire une rotation entre deux feuilles Excel qui incluent des TCDs servant de reporting.

Mon problème est le suivant :

Lorsque je réalise des ajouts, ils ne sont pas automatiquement pris en compte dans les TCD reporting puisqu'il n'y a pas de refresh.

Je pense savoir d'où vient le problème, mais je n'ai pas les connaissances pour le traduire en VBA, c'est pourquoi j'ai expliqué ce que je veux de façon littéral

Je vous remercie grandement pour votre aide,

Merci

Pierre

Voici la macro :

' Identification du Timer : important pour le désactiver
Public RotationId As Date

Sub Start_Rotation()

' On lance la rotation
' Si le jour est jeudi/vendredi/samedi/dimanche
If Weekday(Now, vbMonday) >= 4 Then
Rotation
Else
Application.StatusBar = "Rotation non permise aujourd'hui"
MsgBox Application.StatusBar, vbInformation

ICI, il faudrait une rotation à l'image de sub(rotation) en dessous, toutes les 45 secondes entre la feuille TDB(S) et la feuille TDB(S+1).
Mais je voudrais qu'un millième de seconde après que la feuille TDBS+1 soit activé que cela retourne directement sur la feuille TDB(S) et rebelote


End If

End Sub

Sub Stop_Rotation()
' On supprime la tache horaire de Rotation
If RotationId > 0 Then
Application.OnTime RotationId, "Rotation", , False
Application.StatusBar = ""
RotationId = Empty
End If
End Sub

Sub Rotation()

' Liste des feuilles à afficher
Dim Fls() As Variant
Fls = Array("TDB S+1", "TDB S")

' On active la feuille qui n'est pas actuellement affichée (flip/flop)
ThisWorkbook.Sheets(IIf(ActiveSheet.Name = Fls(0), Fls(1), Fls(0))).Activate

' Création d'une tache horaire à faire dans 30 secondes
RotationId = Now + TimeValue("00:00:45") ' 45 secondes
Application.OnTime RotationId, "Rotation"

' On indique que la rotation est en cours
Application.StatusBar = "Prochaine rotation à " & Format(RotationId, "hh:mm:ss")

End Sub
 
Dernière édition:

pierrelcq

XLDnaute Junior
C'est un fichier excel que je souhaite projeter sur un écran via un pc spécialement dédié à cet effet.

Il doit y avoir qu'une seule action de notre, c'est le lancement de la macro rotation,

Je ne veux pas d'un bouton pour rafraichir les TCD, je veux que la macro rotation active les balises worksheet_activate et donc actualise le rafraichissement des TCD.

Il me reste juste ce petit détail que j'ai écrit en rouge que je n'arrive pas à coder en VBA.

Merci beaucoup pour votre aide
 

Discussions similaires

Réponses
3
Affichages
547

Statistiques des forums

Discussions
311 720
Messages
2 081 892
Membres
101 831
dernier inscrit
gillec