Macros Et VBA Excel : Activer Une Feuille Dans Une Macro

Navigation

Inscrivez-vous gratuitementpour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  • Vous n'êtes pas encore inscrit sur Developpez.com ? Inscrivez-vous gratuitement !
  • Recherche avancée
  • Accueil
  • Forum
  • Logiciels
  • Microsoft Office
  • Excel
  • Macros et VBA Excel
  • Activer une feuille dans une macro
+ Répondre à la discussion Macros et VBA Excel Discussion : Activer une feuille dans une macro Sujet :

Macros et VBA Excel

  • Outils de la discussion
    • Afficher une version imprimable
    • S'abonner à cette discussion…
  • Affichage
    • Mode linéaire
    • Choisir le mode hybride
    • Choisir le mode arborescent
  1. 04/02/2008, 19h23 #1 koloma koloma est déconnecté Membre averti Profil pro Inscrit enJanvier 2008Messages27Détails du profilInformations personnelles :Localisation : FranceInformations forums :Inscription : Janvier 2008Messages : 27 Par défaut Activer une feuille dans une macro
    bonjour à tous, j'ai un petit problème de novice que je n'arrive pas à résoudre... dans une macro, apres un copier/coller d'un onglet (a) sur un onglet (b), je desire travailler sur l'onglet (b) poutr traiter les données que je viens de copier. mais malgres les : ActiveSheet.Name = "a" ActiveSheet.Select le probleme, c'est que range("a1").value me retourne la valeur de la cellule de l'onglet a. un espion dans la macro me confirme bien que c'est l'onglet b qui est actif mais les opérations que je fais par la suite font référence au premier onglet... j'ai résolu le pb en ajoutant "sheets("b")." devant les cells() et range() mais bon, ce n'est pas une solution viable et surtout j'aimerais bien comprendre... merci pour votre aide...
    Répondre avec citation Répondre avec citation 0 0
  2. 04/02/2008, 19h56 #2 House MD House MD est déconnecté Membre éclairé Profil pro Inscrit enNovembre 2007Messages306Détails du profilInformations personnelles :Localisation : FranceInformations forums :Inscription : Novembre 2007Messages : 306 Par défaut
    Bonjour, Ta méthode dit : Je nomme "a" la feuille active (cad "a"...) il faut écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("a").activate par ailleurs, la méthode consistant à activer puis à selectionner des plage avec ".activate" et ".select" est longue et casse-gu(...) il vaut mieux opter pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12345 dim wbk as workbook, wsht1 as worksheet, wsht2 as worksheet 'Nommage d'un classeur set wbk=Thisworkbook
    'ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1234set wbk=workbooks.open("c:\MonFichier.xls") 'Nommage des feuilles de ce classeur set wsht1=wbk.sheets(1) set wsht2=wbk.sheets(2)
    'Après tu peux utiliser ces sheets et leurs cellules sans activation ni selection : 'Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12345with sht1 'Copie d'une range dans sht1 et collage dans sht2 range(.cells(1,1),.cells(10,10)).copy sheets2.cells(1,1) 'etc... end with
    Répondre avec citation Répondre avec citation 1 0
  3. 04/02/2008, 19h59 #3 Singular Singular est déconnecté Membre chevronné Profil pro Inscrit enOctobre 2004Messages453Détails du profilInformations personnelles :Localisation : FranceInformations forums :Inscription : Octobre 2004Messages : 453 Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Name = "a" ne fait qu'attribuer le nom "a" à la feuille active. Si la feuille active était "b", il y aurait erreur et un arrêt de la procédure car on ne peut avoir deux feuilles du même nom dans le même classeur. Il n'en serait pas de mëme si les deux feuilles étaient dans des classeurs différents, mais ce serait une erreur quand même! La bonne façon pour activer une feuille s'écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("b").Activate si tu veux activer la feuille "b". En passant, je crois que tu voulais écrire b plutôt que a dans ton exemple, non? Je me suis gratté la tête un peu devant l'incohérence!
    Répondre avec citation Répondre avec citation 0 0
+ Répondre à la discussion
ActualitésFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAOFFICE 2010
  • Accueil
  • Forum
  • Logiciels
  • Microsoft Office
  • Excel
  • Macros et VBA Excel
  • Activer une feuille dans une macro
« Discussion précédente | Discussion suivante »

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée Par JessieCoutas dans le forum Macros et VBA Excel Réponses: 3 Dernier message: 18/08/2009, 14h35
  2. [E-00] Syntaxe pour insérer une ligne ou une colonne dans une feuille Par Benjycool dans le forum Macros et VBA Excel Réponses: 2 Dernier message: 02/02/2009, 10h27
  3. Copier le résultat d'un filtre d'une feuille dans une autre dans le même classeur Par cpf2006 dans le forum Macros et VBA Excel Réponses: 4 Dernier message: 02/07/2008, 12h32
  4. Insérer une feuille dans une feuille Par PsychedeChed dans le forum Excel Réponses: 2 Dernier message: 07/02/2008, 15h01
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille Par kourria dans le forum Macros et VBA Excel Réponses: 8 Dernier message: 21/06/2007, 14h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo

Tag » Activer Feuille Excel Vba