Microsoft 365 Macro pour revenir automatiquement au premier onglet à la fermeture ( fichier à plusieurs onglets)

Daniel200666

XLDnaute Nouveau
bonjour à tous
j'espère que vous allez bien à l'approche d'un WE de trois jours !
j'ai un classeur de production de plusieurs onglets et je voudrais pouvoir, au moment où les commerciaux ferment le classeur, qu'il puisse s'ouvrir automatiquement sur l'onglet 1 qui est l'onglet principal de renseignements ( les autres sont des bases ou des TCD)
Quelqu'un a-t-il déjà créé cette macro svp ?
Merci beaucoup et bonne journée
Daniel
 

cp4

XLDnaute Barbatruc
Bonjour,

Tu fais Alt+F11, ouvre le VBE (image)
1685008381456.png

Double-clic sur ThisWorkbook et coller code ci-dessous dans la fenêtre de droite.
Enregistrer le fichier, le fermer et l'ouvrir pour s'en rendre compte.

VB:
Private Sub Workbook_Open()
Sheets(1).Activate
End Sub
Bonne journée.
 

job75

XLDnaute Barbatruc
Donc dans ThisWorkbook :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Sheets(1)
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Activate
End With
Me.Save 'enregistre le classeur
End Sub
Avec une Workbook_Open :
Code:
Private Sub Workbook_Open()
With Sheets(1)
    .Visible = xlSheetVisible 'si la feuille est masquée
    .Activate
End With
Me.Saved = True 'évite l'invite à la fermeture si aucune modification
End Sub
 

Daniel200666

XLDnaute Nouveau
Bonjour,

Tu fais Alt+F11, ouvre le VBE (image)
Regarde la pièce jointe 1170865
Double-clic sur ThisWorkbook et coller code ci-dessous dans la fenêtre de droite.
Enregistrer le fichier, le fermer et l'ouvrir pour s'en rendre compte.

VB:
Private Sub Workbook_Open()
Sheets(1).Activate
End Sub
Bonne journée.
@cp4 , merci beaucoup pour cette macro
je regarde et je vous reviens vers all the members pour vous dire !!!
 

Daniel200666

XLDnaute Nouveau
j'ai pensé écrire cette macro que j'ai issu d'une macro pour enlever tous les filtres à la fermeture
Pourriez vous me donner votre avis, svp ?

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim Ws As Worksheet
On Error Resume Next


For Each Ws In Worksheets
Sheets(1) .Activate
Next
Application.ScreenUpdating = True
End Sub
 

cp4

XLDnaute Barbatruc
j'ai pensé écrire cette macro que j'ai issu d'une macro pour enlever tous les filtres à la fermeture
Pourriez vous me donner votre avis, svp ?

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Dim Ws As Worksheet
On Error Resume Next


For Each Ws In Worksheets
Sheets(1) .Activate
Next
Application.ScreenUpdating = True
End Sub
Si j'ai bien compris, à tester.
Bonjour @job75
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   Dim Ws As Worksheet
   For Each Ws In Worksheets
      If Ws.AutoFilterMode = True Then Ws.AutoFilterMode = False
   Next
   Sheets(1).Activate
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
306 164
Messages
2 033 643
Membres
227 000
dernier inscrit
fabiop