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 :

Ajouter une bouton qui va appeler une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 13
    Points
    13
    Par défaut Ajouter une bouton qui va appeler une macro
    Boujour à tous,

    Je suis bloqué sur l'ajout d'une bouton dans une feuille. Voici mon code

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Sub AjoutButton()
        ActiveSheet.Buttons.Add(650, 300, 50, 20).Select
        Selection.OnAction = "Exporter"
        Selection.Characters.Text = "Exporter"
        With Selection.Characters(Start:=1, Length:=8).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
    End Sub
     
    Sub Exporter()
        Dim year As String
        Dim quarter As String
        Dim Directory As String
        Dim Today As String
        Today = Date
        Today = Replace(Today, "/", "_")
        year = Range("Date!E3").Value
        quarter = Range("Date!D3").Value
        Directory = Range("Date!F2").Value
        If Right(Directory, 1) = "\" Then
        Else
            Directory = Directory & "\"
        End If
        Select Case ActiveSheet.Name
        Case "Graphique_Réorientation"
            Sheets(Array("Graphique_Réorientation", "Tableau_Réorientation")).Move
            ChDir Directory
            ActiveWorkbook.SaveAs Filename:=Directory & "Réorientation " & quarter & year & "_" & Today, FileFormat:=xlNormal _
            , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
            CreateBackup:=False
            ActiveWorkbook.Close
        Case "Graphique_BudgetSalleBlanche"
            Sheets(Array("Graphique_BudgetSalleBlanche", "Tableau_BudgetSalleBlanche")).Move
            ChDir Directory
            ActiveWorkbook.SaveAs Filename:=Directory & "Budget " & quarter & year & "_" & Today, FileFormat:=xlNormal _
            , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
            CreateBackup:=False
            ActiveWorkbook.Close
        Case "Graphique_Surnombres"
            Sheets(Array("Graphique_Surnombres", "Tableau_Surnombres")).Move
            ChDir Directory
            ActiveWorkbook.SaveAs Filename:=Directory & "Surnombres " & quarter & year & "_" & Today, FileFormat:=xlNormal _
            , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
            CreateBackup:=False
            ActiveWorkbook.Close
        Case "Graphique_CoûtMoyenParAgent"
            Sheets(Array("Graphique_CoûtMoyenParAgent", "Tableau_CoûtMoyenParAgent")).Move
            ChDir Directory
            ActiveWorkbook.SaveAs Filename:=Directory & "Coût moyen par agent " & quarter & year & "_" & Today, FileFormat:=xlNormal _
            , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
            CreateBackup:=False
            ActiveWorkbook.Close
        End Select
     
    End Sub
    Quand je lance la macro "AjoutButton", ça bloque toujours à la ligne suivante.
    Selection.OnAction = "Exporter"

    Donc Veuillez chercher des erreurs pour moi.
    Merci d'avance.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Place ta macro Exporter dans un module standard -> Menu outils -> Macros -> Vb editor -> Menu Insérer -> Module standard
    Et là, tu colles ta macro.
    Pense à l'enlever du code de ta feuille

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    Merci, ouskel'n'or,

    En fait, les deux macro que j'ai mis en-dessus sont déjà dans le module1, mais pas dans une feuille.

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Bien sûr !
    J'ai lancé ta macro -> Même bug !
    J'ai effacé les trois premières lignes et les ai ré-écrites... Ça fonctionne. Donc remplace ces trois lignes par les miennes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub AjoutButton()
        ActiveSheet.Buttons.Add(650, 300, 50, 20).Select
        Selection.OnAction = "Exporter"
        Selection.Characters.Text = "Exporter"
        With Selection.Characters(Start:=1, Length:=8).Font
            .Name = "Arial"
            .FontStyle = "Normal"
            .Size = 10
        End With
    End Sub
    Une explication ? Je n'en ai pas Sans doute une crotte de bit dans les caractères (???) )
    Quant aux propriétés de ton bouton, tu peux supprimer toutes celles qui sont définies par défaut.
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
    Tu dis
    A+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 13
    Points
    13
    Par défaut
    ouskel'n'or,

    J'ai essayé ta macro, mais ça marche pas non plus.
    C'est vraiment un problème très étrange. Bon, laisse tomber le.
    Je vais lancer la macro Exporter sans ajouter la bouton d'appel.
    Ca me gêne pas beaucoup.
    Remerci à toi!!!!!

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/10/2012, 16h01
  2. Procédure d'une table qui fait appel à une autre table
    Par betsprite dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 15/06/2010, 17h05
  3. Réponses: 2
    Dernier message: 06/03/2008, 21h20
  4. class qui en appel une autre qui peux planter !
    Par deadliff dans le forum Langage
    Réponses: 7
    Dernier message: 20/03/2007, 15h40
  5. Réponses: 2
    Dernier message: 21/04/2006, 14h32

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