Comment imbriquer 2 codes dans le modules VBA

Bonjour à tous,

Je ne suis absolument pas douée avec le module VBA.

J'ai un fichier excel, utilisé par plusieurs personnes. Ce fichier je souhaite qu'il se ferme automatiquement avec sauvegarde après inactivité par l'utilisateur. Pour cela j'ai trouvé sur ce forum un code VBA qui fonctionne très bien (merci le forum https://forum.excel-pratique.com/viewtopic.php?t=60642).

MAIS, j'avais déjà dans mon fichier une autre macro pour que celui-ci s'ouvre systématiquement sur la page "accueil" de mon fichier excel qui comporte plusieurs feuilles.

Ma question est la suivante : comment faire pour "imbriquer" ces deux MACROS ?

Voici le code pour la MACRO fermer automatiquement au bout de 10mn le fichier avec sauvegarde

Dans "this work book"

Option Explicit

Private Sub Workbook_Open()

Call SetTimer

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Call StopTimer

End Sub

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)

Call StopTimer

Call SetTimer

End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _

ByVal Target As Excel.Range)

Call StopTimer

Call SetTimer

End Sub

Dans "module1"

Option Explicit

Dim DownTime As Date

Sub SetTimer()

DownTime = Now + TimeValue("00:00:10")

Application.OnTime EarliestTime:=DownTime, _

Procedure:="ShutDown", Schedule:=True

End Sub

Sub StopTimer()

On Error Resume Next

Application.OnTime EarliestTime:=DownTime, _

Procedure:="ShutDown", Schedule:=False

On Error GoTo 0

End Sub

Sub ShutDown()

ThisWorkbook.Close SaveChanges:=True

'Application.Quit

End Sub

Voici le code pour la MACRO pour Toujours ouvrir le fichier sur la feuille ACCUEIL.

Elle est positionnée sur "This work book" :

Private Sub Workbook_Open()

ActiveWorkbook.Worksheets("ACCUEIL").Activate

End Sub

Je ne sais vraiment pas comment faire pour que les deux commandes fonctionnent.

Je suis nulle en VBA, merci pour votre aide.

Mille mercis

Bonjour,

Essaie ainsi :

Private Sub Workbook_Open()
    Application.Goto reference:=ThisWorkbook.Worksheets("accueil").Cells(1), scroll:=True
    Call SetTimer
End Sub

Merci beaucoup Jean-Eric pour ta réponse… mais je n'ai pas compris.

Je dois mettre où ce morceau de code ? A la suite du premier ? (je suis vraiment 0 en VBA).

Merci

Edit : je précise que les 2 macros fonctionnent très bien séparément. C'est juste que je ne sais pas où mettre le code (à la suite de la première) dans Thisworkbook, ou dans module 1... je suis perdue lolll

Re,

Tu remplaces ta procédure WorkBook_Open() par celle que j'ai envoyé précédemment !?

Cdlt.

Super, ça marche !!! J'ai essayé sur un fichier test.

Donc si je comprends bien, il suffisait juste que je remplace dans la première macro le code pour l'ouverture.

Merci pour tout ! maintenant j'ai plus qu'à appliquer sur le vrai fichier (je croise les doigts lolll).

ENCORE MERCI

Bonne journée

Rechercher des sujets similaires à "comment imbriquer codes modules vba"