Exécuter une macro dans un onglet à l'ouverture

Bonjour le Forum !

Je cherche à faire un truc simple, sans y arriver...

Je veux que, quand j'ouvre un classeur, une macro précise ("MACRO_TEST") s'exécute dans un onglet précis ("ONGLET_TEST") sans modifier l'onglet qui était actif lors du dernier enregistrement du fichier.

Dans " ThisWorkbook " j'ai placé le code suivant :

Private Sub Workbook_Open()
Application.ScreenUpdating = False

Dim Sh As Worksheet
Set Sh = ActiveSheet.Name

ActiveWorkbook.Worksheets("ONGLET_TEST").Activate
MACRO_TEST

Sheets(Sh).Activate

End Sub

Mais visiblement j'ai faux, puisque j'obtiens un message d'erreur

Erreur d'exécution '424' : Objet requis

Quelqu'un pourrait m'aider ?

Merci !

Bonsoir

Ca fonctionne chez moi.

Private Sub Workbook_Open()
'Application.ScreenUpdating = False
Dim Sh As Worksheet
Sheets("ONGLET_TEST").Activate
'Set Sh = ActiveSheet.Name
MACRO_TEST
'Sheets(Sh).Activate
End Sub

Merci pour ta réponse.

Ton code fonctionne en effet, mais il ne réactive pas l'onglet qui était actif lors du dernier enregistrement du fichier.

C'est là où je bloque aussi...

Bon, j'ai trouvé tout seul en essayant 351 trucs.

Il fallait remplacer :

Sheets(Sh).Activate

par

Sh.Activate

Ça parait si simple une fois qu'on a trouvé...

re

Private Sub Workbook_Open()
'Application.ScreenUpdating = False
Dim Sh As String
Sh = ActiveSheet.Name
Sheets("ONGLET_TEST").Activate
MACRO_TEST
'MsgBox Sheets(Sh).Name
Sheets(Sh).Activate
End Sub

Nos réponses se sont croisées.

La tienne marche aussi.

Super.

Merci !!!

Rechercher des sujets similaires à "executer macro onglet ouverture"