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 :

Affecter un bouton macro sur 11 feuilles [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 659
    Points : 149
    Points
    149
    Par défaut Affecter un bouton macro sur 11 feuilles
    Bonjour le forum,
    Tout est dans le titre.
    En effet j'ai affecté une macro à un bouton (insertion Ligne) dans la feuille Janvier 2014. Dans chaque feuille j'ai ce bouton (Février 2014, Mars 2014,Avril 2014 jusqu'à Décembre 2014). Serait-il possible d'éviter de faire à chaque fois => clic droit affecter macro?
    Pour l'instant je n'ai aucun début de solution même d'une éventuelle macro.
    Si des "amis" du forum ont des astuces je suis preneur. Car j'ai 20 classeurs. FASTIDIEUX
    Merci d'avance pour vos réponses

    Bien cordialement à vous

  2. #2
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Quelques briques pour construire ta macro

    1°) je verrai bien un for each shett in Sheets (pour lister tes feuilles)

    2°) l'affectation et la création de ton bouton peuvent être faites par l'assitant Macro

    3°) tu assembles le tout et on débugge si besoin

    A bientôt

  3. #3
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une piste. Tu peux mettre le code de la proc "AffecterMacro" dans le module du classeur sur la procédure évènementielle "Workbook_Open". Attention, ici il n'y a que le Shape ayant l'index 1 qui exécutera la macro. Si tu as plusieurs Shapes, adapte :
    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
     
    Sub AffecterMacro()
     
        Dim Fe As Worksheet
        Dim Ctrl As Shape
     
        For Each Fe In Worksheets
     
            Set Ctrl = Fe.Shapes(1)
            Ctrl.OnAction = "MaMacro"
     
        Next Fe
     
    End Sub
     
    Sub MaMacro()
     
        MsgBox "OK, ça marche !"
     
    End Sub
    Hervé.

  4. #4
    Membre habitué
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 659
    Points : 149
    Points
    149
    Par défaut
    Bonjour Igloobel & Theze,

    J'ai pris en compte vos suggestions et j'ai fait ceci qui a l'air de fonctionner.
    Merci à vous deux pour avoir pris le temps de répondre et de vous intéresser à mes demandes qui sont quelques fois "farfelues"!!!
    Bonne fin de soirée à tous
    Bien cordialement



    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
    Option Explicit
     
    Sub ChangeMacroBouton()
    Dim Ws As Worksheet
    Dim Sh As Shape
    Dim Nom As String
     
      Nom = "Insertion Ligne"       'Bien respecter le texte du Bouton
      For Each Ws In Sheets
        For Each Sh In Ws.Shapes
          If Sh.TextFrame.Characters.Text = Nom Then
            Sh.OnAction = "InsererLignes"     ' Bien respecter le nom de la nouvelle macro
            Exit For
          End If
        Next Sh
      Next Ws
    End Sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/09/2013, 10h33
  2. Bouton macro sur excel
    Par linel dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 17/09/2007, 00h35
  3. Placer un bouton statique sur une feuille
    Par redabadache3 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/09/2007, 20h27
  4. [VBA E] bouton dynamique sur une feuille
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/06/2006, 19h05
  5. macro sur plusieurs feuilles
    Par lolo_bob2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2006, 17h51

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