Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1254 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro multi sheet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro multi sheet

n°2042491
isotop
www.jackyproject.ht.st
Posté le 15-12-2010 à 20:26:12  profilanswer
 

bonjour
 
j'ai une question a 2 balles mais qui me bloque
 
dans un classeur excel sur le 1er onglet j'ai placé des boutons qui lancent des macro, tout fonctionne tres bien mais je voudrais que ces boutons soient présent sur tout les onglets (même ceux que je vais créer par le suite) et que mes macro soient accessible de n'importe quel onglet
 
possible ?
 
merci

mood
Publicité
Posté le 15-12-2010 à 20:26:12  profilanswer
 

n°2042551
kiki29
Posté le 15-12-2010 à 23:14:47  profilanswer
 

Salut,oui

n°2042961
isotop
www.jackyproject.ht.st
Posté le 17-12-2010 à 18:35:15  profilanswer
 

cool
 
comment ?

n°2042987
kiki29
Posté le 17-12-2010 à 22:29:15  profilanswer
 

Salut,à priori ,dans le cas le plus simple, il suffit de copier ta feuille initiale avec ces boutons dans le même classeur : Clic Droit sur l'onglet de la feuille initiale puis sélectionner "Déplacer ou Copier" ou via le Menu Edition : Déplacer ou Copier une feuille
Les procédures auxquelles sont affectées les boutons devront prendre en compte la feuille active via "ActiveSheet"
Sinon pour ne cas encombrer les feuilles avec une guerre des boutons tu peux créer une barre de menus ou un menu contextuel


Message édité par kiki29 le 17-12-2010 à 22:35:59
n°2043268
isotop
www.jackyproject.ht.st
Posté le 20-12-2010 à 13:15:50  profilanswer
 

ok cela fonctionne mais dans l'éditeur visual basique je me retrouve avec toutes mes feuilles avec le meme code
c'est pour ça que je me demandais si je ne pouvais pas les placer a un endroit accessible depuis n'importe quel onglet genre "thisWorkBook"

n°2043291
kiki29
Posté le 20-12-2010 à 14:48:37  profilanswer
 

Salut,et oui il fallait y penser avant, en ayant le code correspondant dans un module

n°2044723
fouinardom​eo
Posté le 28-12-2010 à 01:40:03  profilanswer
 

Dans ThisWorkbook ajoute une fonction pour l'event "NewSheet", ça sera exécuté à chaque nouvelle création de feuilles dans excel. Attention toutefois ça le lance meme si tu créés un graphique ou autre, met un test pour vérifier qu'il s'agit bien d'une feuille de calcul si nécessaire...
 
Donc moi je ferais un petit sub (avec en argument le nom ou l'index de la feuille créée -- info donnée en argument de l'event !) qui me créé mes boutons etc etc sur la feuille en question.
 
PS :
 
Il faut faire attention avec les ActiveSheet et surtout ActiveWorkbook etc. car le code peut etre exécuté lorsqu'un autre classeur est actif (clic sur l'autre fenetre excel alors que la macro n'a pas terminé son exécution) et là c'est la cata car les modifs faitent pas le code VBA ne sont pas annulable...!! Donc toujours utiliser ThisWorkbook à la place !!! Moi j'ajoute une variable au départ qui spécifie bien en dur le nom du classeur dans lequel on travaille pour pas que des cellules soient modifié dans un autre...


Message édité par fouinardomeo le 28-12-2010 à 01:40:40

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro multi sheet

 

Sujets relatifs
Jeu multi joueur via phpproblème macro VBA
Formulaire multi-tablesAide pour une macro sous Excel :(
Problème MACRO filtre auto passage v2007 - v2003[Python] Script crawler Multi-thread
Créer une alerte avec une macroMacro dans une recherche
Creer une macro pour sommer plusieurs cellules de plusieurs feuillesMacro pour compiler des fichiers en tableaux et generer les graphes
Plus de sujets relatifs à : Macro multi sheet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR