VBA - Simplification macro

Bonjour à toutes et tous,

Dans le cadre de l'allègement de ma macro, je cherche à remplacer

Private Sub Workbook_Open()
    Feuil1.Activate
    Range("C2").Select
End Sub

par

Private Sub Workbook_Open()
    Feuil1.Range("C2").Select
End Sub

Mais j'obtiens un message d'erreur si, lors de la fermeture du classeur, je ne suis pas sur la feuil1.

Que ce soit avec Select ou Activate

image

Est ce que je fais une erreur ou cela est possible ?

Cordialement.

bonjour,

Ya rien à alléger là...

On s'arrange souvent pour sélectionner la feuille d'ouverture avant de refermer le classeur : En général à la fermeture t'en à rien à fiche tu fais pas attention à ce qui e passe en général il y a des sauvegardes, des tas de trucs moi en général je suis déjà parti de ma chaise avant qu'Excel rende la main. Comme ça à l'ouverture t'a rien à attendre.... t'es sûr d'être ou il faut.

De toute façon si tu tiens à sélecter un range t'es bien obligé de sélecter une feuille avant. C'est à peu près un des rares select qu'on peut pas court-circuiter...

Sinon au pire tu mets un Application.DisplayAlerts = False mais moi j'appelle pas ça de l'allègement.En général on appelle plutôt ça mettre la poussière sous le tapis !

A+

Bonjour,

Essaie ainsi :

Private Sub Workbook_Open()    
    Application.Goto Feuil1.Range("C2") ', True
End Sub

Cdlt.

Bonsoir,

Merci pour vos réponses.

On s'arrange souvent pour sélectionner la feuille d'ouverture avant de refermer le classeur

@galopin01, c'est la technique que j'ai utilisée pour pallier au problème.

@Jean-Eric, Merci pour cette proposition qui fonctionne parfaitement

Bonne soirée à vous.

Cordialement.

Rechercher des sujets similaires à "vba simplification macro"