Microsoft 365 ne pas répéter le code feuille (tout ou partie) à l'activation de la feuille si elle a déjà été activée

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Toujours pour gagner du temps, je me pose une nouvelle question :
Toutes les feuilles de mon classeurs contiennent des codes à exécuter quand je les sélectionne.
Bien sûr ça prends toujours une peu de temps mais répété des dizaines, voir des centaines de fois dans la journée,
ça devient un temps total important.

Je me demande s'il est possible de "ne pas exécuter" un code de la feuille que l'on sélectionne si la feuille a déjà été activée ?
Par exemple, j'adapte toutes les feuilles à la taille de l'écran sur lequel le fichier est ouvert :
VB:
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
Application.MoveAfterReturn = True
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveWindow.DisplayHeadings = False
Range(Cells(1, 26), Cells(1, 1)).Select
ActiveWindow.Zoom = True

Serait-il possible de ne l'exécuter qu'à la première activation de la feuille ? (uniquement ce code - pas tout le code de la feuille)
LOL - En voilà une question "qu'elle" pourrait être bonne :)

Encore une fois "Merci" à vous :)
Bon WE,
Amicalement,
lionel,
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @arthour973,

Voir le code du module de la feuille "Feuil2":
VB:
Private Sub Worksheet_Activate()
Static DeuxFoisEtplus As Boolean

   If Not DeuxFoisEtplus Then
      'ici le code pour la première fois
      MsgBox "C'est la première fois qu'on active " & Me.Name
      DeuxFoisEtplus = True
   Else
      'ici le code pour la deuxième fois et plus
      MsgBox "C'est la deuxième fois ou plus qu'on active " & Me.Name
   End If
End Sub
 

Pièces jointes

  • arthour973- code activation feuille (1ère fois)- v1.xlsm
    14.5 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonsoir Lionel,
Bien sûr ça prends toujours une peu de temps mais répété des dizaines, voir des centaines de fois dans la journée,
ça devient un temps total important.
Non, le code que tu nous indiques s'exécute chez moi en 3 millièmes de seconde, c'est peanuts.

Par contre tu dois t'interroger sur l'utilité de certaines commandes et supprimer le code si elles sont inutiles.

Edit : salut mapomme.

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami