Comment réactiver une feuille Excel sans passer par son nom de l’onglet?

Utilisateur anonyme -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Comment réactiver une feuille sans passer par son nom de l’onglet?

Exemple :
J’ai une feuille Excel nommée « STOCK » je l’active avec les codes VBA
Je copie cette feuille « STOCK » et je nomme cette copie « TRAVAIL »
J’active la feuille « TRAVAIL » puis j’exécute certaines taches sur cette copie… puis je voudrais, toujours en code VBA, réactiver la feuille « STOCK » mais sans passer par son nom de l’onglet qui est « STOCK ».

Est-ce possible dans VBA, et suis-je assez clair?
merci

2 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    0
    1. Utilisateur anonyme
       
      Bonjour et merci
      Donc de la feuille active je peux connaitre son CodeName?
      Vais voir ton lien... :)
      @+
      Geoffroy
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      C'est pourtant clair!!!!!!!!!!!!!!

      0
    3. Utilisateur anonyme
       
      wouaooooooooo!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


      Bonjour,

      Désolé de ne pas être expert en VBA et de poser des questions sûrement "idiotes" pour votre niveau.
      Vous avez sûrement BAC +5 en programmation, si ce n'est pas plus
      Tandis que moi j'ai plutôt BAC - 5 ...

      Et j'avais posé ma question 'idiote' avant d'aller voir votre lien, cher Monsieur.

      Bonne Soirée Monsieur
      0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, ta question commencera à avoir un sens quand tu expliqueras pourquoi tu veux éviter d'utiliser le nom de la feuille.
    0
    1. Utilisateur anonyme
       
      Bonjour,
      Pour éviter que la macro plante quand une personne,pour x raisons, renomme la feuille active.
      On peut sûrement créer des sécurités pour empêcher de renommer cette feuille Active, mais je voudrais éviter cette méthode?
      Mais le 'hic' pour moi, c'est que je ne sais pas comment présenter ce code avec "CodeName".

      Alors si vous avez une idée, merci d'avance :)
      @+
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      cela reste un peu mystérieux, comment fais-tu pour l'activer la première fois sans utiliser son nom?
      si tu veux éviter d'avoir le nom "en dur" dans le programme, il suffit de mémoriser l'identité de la feuille au départ, et de réutiliser cette identité ensuite.
      je pense à trois options permettant de faire cela:
      1) mémoriser le nom de la feuille dans une cellule
      2) mémoriser le nom de la feuille dans une variable "string"
      3) mémoriser la référence de la feuille dans une variable "worksheet"
      je pourrais être plus précis si tu montrais ton code.
      un exemple de la technique 3:
      Private Sub memoriserfeuille()
      Dim lafeuille As Worksheet
      Set lafeuille = ActiveSheet
      '...
      lafeuille.Activate
      End Sub

      à noter qu'il est fortement déconseillé d'utiliser Select et Activate en VBA.
      0
    3. Utilisateur anonyme
       
      Bonsoir, et merci pour ta réponse
      Je vais revoir tout ça...
      Et pour quelle raison c'est déconseillé d'utiliser 'Select et Activate en VBA.'?
      Dans ce cas on doit utiliser quel code de remplacement?
      Merci
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Utilisateur anonyme
       
      c'est déconseillé parce que c'est difficile à maîtriser par programme et que cela produit souvent des erreurs.
      par ailleurs, c'est presque toujours inutile et facile à éliminer.
      que faire à la place? cela dépend de ton code.
      pourquoi veux-tu réactiver la feuille « STOCK »? si c'est parce que le programme a fini et veux que l'utilisateur se retrouve avec la bonne feuille sélectionnée, alors Activate est ok.
      0
    5. Utilisateur anonyme
       
      Bonsoir et merci de ta patience et de tes explications ainsi que tes codes.
      Je vais, encore une fois, revoir tout ça
      merci encore c'est sympa
      0