IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

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

Macros et VBA Excel Discussion :

Lancer une macro dans un onglet


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Lancer une macro dans un onglet
    Bonjour,

    J'ai une macro dans un module et j'aimerais pouvoir la lancer à partir de n'importe quel onglet mais qu'elle s'execute uniquement dans un onglet défini

    quelqu'un a-t-il une idée ?

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour,

    Je ne suis pas sur de comprendre :

    mais qu'elle s'execute uniquement dans un onglet défini
    Tu veux déclencher une macro lorsque tu active un onglet ou bien que ta macro ne traite des données que dans un onglet ?

    Par rapport à ce qui est écrit je penche plutôt pour la deuxième solution.
    Il te suffit donc de faire référence à ton onglet pour ne travailler que sur celui-ci

    Ce qui serait bien c'est que tu donnes un bout de code pour que l'on puisse t'aider concrètement. En attendant un exemple qui je l'espère répondra a ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Exemple
    Dim Maplage As Range
    Dim F1 As Worksheet
     
    Set F1 = Sheets("Feuil1")
    F1.Visible = True
    Set Maplage = F1.Range("A10:A35")
    ' Ici tu peux travailler sur test cellule par exemple en parcourant toute la
    'plage :
    Dim Macellule As Range
    For Each Macellule In Maplage
       ...
    Next
    end sub

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut nono1712 et le forum
    Explications insuffisantes
    Quelle macro ? Quel module ?
    Pour aider on doit avoir un minimum de données!
    A+

  4. #4
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Pour être plus complet, j'ai une macro dans Module 1 qui devrait se lancer automatiquement grâce à un code contenu dans rhis Workbook,

    j'aimerais ajouter une ligne à la macro contenue dans le module pour qu'elle réalise ce pourquoi elle est concue dans un onglet dénini (sheet21) mais pas dans un autre

    je pense qu'il faudrait uniquement rajouter une ligne en faisant référence à la feuille souhaitée mais je ne sais pas le faire,

    pour info voici le code actuel de la macro dans le module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub report()
     
    Dim cell As Range
    ToDay = Date 'Défini la date du jour
    For Each cell In Range("a:a") 'ballaie la plge mentionnée
     
        If cell.Value = ToDay Then
        cell.EntireRow.Copy
        cell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
        End If
    Next
    End Sub

  5. #5
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    dans un onglet dénini (sheet21)
    Dans ce cas l'exemple que je t'ai fourni devrait te convenir en remplacant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set F1 = Sheets("Feuil1")
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set F1 = Sheets("sheet21")

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut nono1712 et le forum
    Pour être plus complet, j'ai une macro dans Module 1 qui devrait se lancer automatiquement grâce à un code contenu dansTrhisWorkbook
    Il existe plusieurs solutions :
    - Soit dans la macro automatique de ThisWorkBook (??? laquelle ?) tu introduis un test qui ne lance la macro que si la feuille concernée est la bonne
    - Soit tu fais le test dans ta macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub report()
     
    Dim cell As Range
    if ucase(activesheet.name)<>ucase("sheet21")
    ToDay = Date 'Défini la date du jour
    For Each cell In Range("a:a") 'ballaie la plge mentionnée
     
    If cell.Value = ToDay Then
    cell.EntireRow.Copy
    cell.PasteSpecial Paste:=xlPasteValues
    End If
    Next
    Application.CutCopyMode = False
    End Sub
    A+

Discussions similaires

  1. [PPT-2003] Lancer une macro dans PPT à partir d''Excel
    Par Daejung dans le forum VBA PowerPoint
    Réponses: 4
    Dernier message: 30/11/2009, 11h19
  2. Problème pour lancer une macro dans Excel
    Par jujuf1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/12/2008, 16h32
  3. Lancer une macro dans une procedure vba
    Par pascalourox dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/08/2008, 15h39
  4. [VBA]Macro pour lancer une recherche dans un tableau
    Par manhes dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/04/2007, 18h08
  5. Réponses: 9
    Dernier message: 25/01/2006, 15h35

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