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 :

Bouton créé dynamiquement et Code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Par défaut Bouton créé dynamiquement et Code
    Bonjour à tous,

    Voilà je vous présente mon soucis, je souhaite créer des boutons de façon dynamique, mais je n'arrive pas à implémenter du code pour ces boutons.

    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
    Dim Test(10) As String
    Dim T1 As String
    Dim Para, Help, Nom_Control As String
    Dim i, j, x, y As Integer
    Dim Button As MSForms.CommandButton
    Function Button1()
    MsgBox ("ça marche")
    End Function
    Private Sub UserForm_Initialize()
    Sheets("Base").ScrollArea = "A1:AZ50"
        For i = 1 To 10
            If Sheets("Base").Range("B" & (i + 15)).Value = "" Then
            j = j + 1
            Else
            j = j + 1
            Test(i) = Sheets("Base").Range("B" & (j + 15)).Value
            T1 = Test(i)
                Nom_Control = "Forms.CommandButton.1"
                If i > 7 Then
                y = 70 + (i - 2) * 40
                Else
                y = 70 + (i - 1) * 40
                End If
                Set Button = Me.Controls.Add(Nom_Control)
                With Button
                    .Top = y
                    .Left = 100
                    .Height = 30
                    .Width = 210
                    .Caption = T1
                    .Visible = True
                    .ForeColor = &H80000012
                    .BackStyle = fmBackStyleTransparent
                    .PicturePosition = fmPicturePositionAboveCenter
                    .TabIndex = 0
                    .Name = "CommandButtonDetail_" & i
                    .OnAction = "'Button1'" ''--> c'est ici que ça coince
                End With
            End If
        Next i
    Sheets("Base").ScrollArea = "A1:AK24"
    End Sub
    Comment faire pour lancer ma fonction à partir de mon bouton ?

    Merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    As-tu essayé sans les apostrophes ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Remarque: Tu crées ton code avant la création de tes boutons ?
    C'est une méthode assez étrange.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Par défaut
    Oui j'ai essayé sans les apostrophes et ça me fait la même chose, apparamant c'est la bonne syntaxe à utiliser !

    Je crée le code sous forme de fonction de mon bouton avant car il n'existe pas, et n'existera uniquement qu'une fois le programme lancer.

    L'idée serait de dire : pour le bouton1 allez a fonction1, bouton2 fonction2, etc etc...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Comment sont déclarées tes fonctions ?
    Dernière modification par AlainTech ; 30/09/2013 à 04h17. Motif: Suppression de la citation inutile

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Button1()
    MsgBox ("ça marche")
    End Function

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

Discussions similaires

  1. Associer un code VBA à un bouton créé dynamiquement
    Par Floppy69 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/02/2014, 10h12
  2. [AC-2007] créer bouton dynamiquement en code VBA
    Par xargin dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/08/2011, 09h35
  3. Réponses: 2
    Dernier message: 14/05/2008, 16h18
  4. [VCL 3] TJVLookOut : Pb ordre boutons créés dynamiquement
    Par Eric_dudu dans le forum Composants VCL
    Réponses: 1
    Dernier message: 15/12/2005, 16h17
  5. [FLASH MX2004] Rotation d'un bouton en dynamique?
    Par clad523 dans le forum Flash
    Réponses: 3
    Dernier message: 09/08/2004, 12h30

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