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 :

Bloquer macro à une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 154
    Par défaut Bloquer macro à une feuille
    Bonjour à tous,

    J'aurai aimer savoir comment faire, pour que ma macro même si je la lance a partir d'une autre feuille, elle impact que la feuille qui est concernée.
    Je suis peut être pas trés clair....

    Exemple
    J'ai une macro "x" fait pour ma feuille lundi.
    Je voudrais que quand je suis sur ma feuille mardi et que je lance ma macro "x" elle impact que ma feuille lundi et non mardi.

    Merci par avance de vos réponses.

    @+ Filou

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il faudrait être plus clair.
    Cette procédure ("macro") doit elle toujours utiliser les cellules de la feuille nommée Lundi ou bien faut-il utiliser les cellules de la feuille qui précède celle qui est active ?
    Si c'est toujours la feuille nommée Lundi, il suffit de le préciser dans la procédure ou prévoir un argument (nom de la feuille ou directement l'objet feuille) à la procédure
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 154
    Par défaut
    Merci pour votre réponse rapide.

    La macro s'applique toujours à la même feuille, comment inclure le nom de la feuille à la procédure ?

    @+ Filou

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,
    La macro s'applique toujours à la même feuille, comment inclure le nom de la feuille à la procédure ?
    Ce serait plus simple de te répondre si tu nous montrais ton code

    A priori rajouter sheets("nomdelafeuille"). devant tout objets cells/range/columns/rows (pas sûr que la liste soit exhaustive) devrait marcher
    Note que tu peux éventuellement utiliser un with pour simplifier l'écriture

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 154
    Par défaut
    Voici le code demander :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Sub Importation_effacer()
    '
    ' Importation_effacer Macro
    '
     
    '
        Range("L3:XFD1048576,G3:J1048576,B3:E1048576").Select
        Range("B3").Activate
        ActiveWindow.SmallScroll ToRight:=14
        Range( _
            "AA3:XFD1048576,V3:Y1048576,Q3:T1048576,L3:O1048576,G3:J1048576,B3:E1048576"). _
            Select
        Range("B3").Activate
        ActiveWindow.SmallScroll ToRight:=10
        Range( _
            "AK3:XFD1048576,AF3:AI1048576,AA3:AD1048576,V3:Y1048576,Q3:T1048576,L3:O1048576,G3:J1048576,B3:E1048576" _
            ).Select
        Range("B3").Activate
        ActiveWindow.SmallScroll ToRight:=9
        Range( _
            "AU3:XFD1048576,AP3:AS1048576,AK3:AN1048576,AF3:AI1048576,AA3:AD1048576,V3:Y1048576,Q3:T1048576,L3:O1048576,G3:J1048576,B3:E1048576" _
            ).Select
        Range("B3").Activate
        ActiveWindow.SmallScroll ToRight:=12
        Range( _
            "BE3:XFD1048576,AZ3:BC1048576,AU3:AX1048576,AP3:AS1048576,AK3:AN1048576,AF3:AI1048576,AA3:AD1048576,V3:Y1048576,Q3:T1048576,L3:O1048576,G3:J1048576,B3:E1048576" _
            ).Select
        Range("B3").Activate
        Selection.ClearContents
        Range("B3").Select
    End Sub

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La macro s'applique toujours à la même feuille, comment inclure le nom de la feuille à la procédure ?
    Une cellule a pour parent une feuille et celle-ci a pour parent un classeur. Cela s'appelle la parentalité d'un objet.
    Si tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub t()
     ThisWorkbook.Worksheets("Lundi").Range("B1").Value = "Toto"
    End Sub
    La chaîne Toto sera écrite dans la feuille nommée Lundi du classeur où se trouve le code VBA et ce quel que soit la feuille active.

    Autre cas. On écrit une procédure qui ira écrire dans une feuille précise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub WriteCell(sht As Worksheet)
      sht.Range("B1").Value = "Toto"
    End Sub
    Que l'on invoque avec cette procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub t()
      WriteCell ThisWorkbook.Worksheets("Lundi")
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 154
    Par défaut
    J'ai trouver ma solution, à mettre au debut du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("nom de la feuille").Select
    Merci encore pour tout

    @+ Filou

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Appliquer la macro à une feuille particulière
    Par Eric26 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/01/2019, 08h14
  2. [XL-2013] Protéger une feuille sans bloquer les macros
    Par mo56go dans le forum Excel
    Réponses: 5
    Dernier message: 03/10/2017, 14h52
  3. Réponses: 2
    Dernier message: 17/01/2016, 11h27
  4. liaison d'une macro à une feuille excel et execution d'une macro
    Par new_wave dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/08/2008, 17h14
  5. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 19h24

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