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 :

Macro Creation Bouton d'action


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 89
    Par défaut Macro Creation Bouton d'action
    Bonjour,

    J'ai une macro qui génère une page automatiquement avec plein de truc dessus, afin que tout soit automatisé, je gère la Mise en page avec :

    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
      With ActiveSheet
            .HPageBreaks.Add .Range("A44")
            End With
     
    With activesheet
            .PageSetup.LeftMargin = Application.InchesToPoints(0.17)
            .PageSetup.RightMargin = Application.InchesToPoints(0.17)
            .PageSetup.TopMargin = Application.InchesToPoints(0.17)
            .PageSetup.BottomMargin = Application.InchesToPoints(1)
            .PageSetup.HeaderMargin = Application.InchesToPoints(0.5)
            .PageSetup.FooterMargin = Application.InchesToPoints(0.5)
            .PageSetup.CenterHorizontally = True
            .PageSetup.CenterVertically = True
            .PageSetup.Orientation = xlLandscape
            .PageSetup.Zoom = 80
    'Et ensuite print module ........
    Ce code qui fonctionne tourne pendant 10 à 22 secondes (suivant les machines) pour s'executer, c'est BEAUCOUP TROP Long !

    Donc je voudrais essayer de créer un bouton pour n'activer ce code que lorsqu'on souhaitera imprimer !

    Donc pour créer mon bouton j'utilise
    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
     ActiveSheet.Buttons.Add(4.5, 0.75, 234, 30.75).Select
     
    'Erreur ici : 
        Selection.OnAction = "Sheet1.Print_setup"  'Object Defined or Property error !!!
        ActiveSheet.Shapes("Button 10").Select
        Selection.Characters.Text = "Page Setup & Print"
        With Selection.Characters(Start:=1, Length:=18).Font
            .Name = "Arial"
            .FontStyle = "Regular"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
    OU j'ai aussi essayer OLEObject .... Mais bon bref ça marche pas !!

    Je pige pas pourquoi ???

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    bonjour
    un exemple
    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
     
    Sub bouton()
    Dim feuille As Worksheet
    Dim bcommand As Shape
     
    Set grillef = Worksheets("le nom ")
    With grillef
        Set bcommand = .Shapes.AddShape(msoShapeRectangle, gauche + 200, haut, 55, 12)
            With bcommand
            .Fill.ForeColor.SchemeColor = 12
            .OnAction = "sortie" 'appelle de la procedure sortie
            .OLEFormat.Object.Text = "QUITTER"
            .AutoShapeType = msoShapeRectangle
            End With
    End With
    End Sub

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    re

    dans la ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set bcommand = .Shapes.AddShape(msoShapeRectangle, gauche + 200, haut, 55, 12)
    gauche et haut a modifier par une valeur !!!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 89
    Par défaut
    Merci beaucoup,

    Ce code marche très bien sur un feuille X mais le problème c'est que je suis incapable de définir le nom de la feuille puisqu'il change à chaque fois !!

    Quand je créer une page, il lui donne le nom "Report" & Valeur dans liste deroulante & valeur liste deroulante 2...

    Donc faut que j'essai d'adapter mais je vois pas torp comment !!!

    Merci en tout cas !!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 89
    Par défaut
    J'ai adapté le code pour le mettre directement dans la Macro afin de pouvoir recupérer la variable nom qui correspond au nom de la feuille !!

    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
    '**************************************************************************
    '<<<<<<<<<<<<<<<<<<<<<<<<<END GRAPHS CREATION>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    '<<<<<<<<<<<<<<<<<< CREATION BUTTON PRINT SETTINGS  >>>>>>>>>>>>>>>>>>>>>>>
    '**************************************************************************
     
     
    Set grillef = Worksheets(nom)
     
    With grillef
     
        Set bcommand = .Shapes.AddShape(msoShapeRectangle, 0, 0, 200, 20)
            With bcommand
            .Fill.ForeColor.RGB = RGB(225, 244, 253)
            .OnAction = "Print_setting"
            .OLEFormat.Object.Text = "Page Setup & Print"
            .AutoShapeType = msoShapeRectangle
            .TextFrame.HorizontalAlignment = xlHAlignCenter
            .Line.Weight = 3
            .ControlFormat.PrintObject = False
     
         End With
     
    End With
     
     
    'Exit Macro !
    Merci Beaucoup à tous...

    Arnaud

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

Discussions similaires

  1. [XL-2003] MAJ date/heure exécution macro via bouton d'action
    Par ivanG dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/05/2014, 15h47
  2. Réponses: 3
    Dernier message: 27/04/2009, 17h55
  3. [VBA][Debutant] bouton d'action
    Par stolx_10 dans le forum Access
    Réponses: 17
    Dernier message: 18/09/2006, 13h37
  4. Envoie d'un fichier excel par mail via un bouton d'action
    Par ghostal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/07/2006, 08h22
  5. Creation bouton dans un formulaire
    Par zizzoud dans le forum Access
    Réponses: 2
    Dernier message: 11/11/2005, 16h41

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