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 :

pb sur le lancement de la macro depuis excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Par défaut pb sur le lancement de la macro depuis excel
    bonsoir à tous

    une petite question simple pour les connaisseurs : mais pas évident pour le débutant que je suis.

    sur une feuille excel j'ai plaçé plusieurs boutons numérotés 1, 2 etc...... quand je clique sur un je lance un userform, comment faire pour lorsque je clique sur 2 j'ouvre un second userform dans la même macro.

    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 28
    Par défaut
    Bonjour,

    Pour chaque bouton, tu appelles un UserForm et dans chaque UserForm, tu auras le code associé.
    Bon courage

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    voici une possiblité parmi d'autres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Test()
        Dim i As Integer
        '
        '...
        '
        '
        i = 2 'valeur renvoyée par le bouton de lancement ...
     
        'Ouvre l'UserForm nommé "UserForm2
        VBA.UserForms.Add("UserForm" & i).Show
    End Sub


    michel

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Par défaut
    merci à tous les deux

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Par défaut
    Re bonjour

    je vous avouerai que j'ai des problèmes de compréhension et de mises en oeuvre.
    Quand je fais un clic droit sur le 1er bouton (situé sur la feuille excel), on lui affecte une macro qui démarre donc l'userform1.
    Par contre pour le deuxième bouton l'userform2 ne s'ouvre toujours pas ????????

    Mille excuses mais quand on débute, ça rame sec

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    Qu'est ce que tu as écrit dans ta procédure pour commander l'ouverture du UserForm?


    michel

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Par défaut
    bonsoir SilkyRoad

    je t'ai joint le programme que je commence à développer
    Un grand merci pour ton aide
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    Private Sub UserForm_Initialize()
        With Me.ComboBox1
                ComboBox1.AddItem "CAB"
                ComboBox1.AddItem "CBA"
                ComboBox1.AddItem "AB"
                ComboBox1.AddItem "CB"
                ComboBox1.AddItem "LAB"
                ComboBox1.AddItem "MAB"
                ComboBox1.AddItem "CAE"
                ComboBox1.AddItem "AE"
                ComboBox1.AddItem "DD"
                ComboBox1.AddItem "BA"
         End With
     
    End Sub
    Private Sub CommandButton1_Click()
         If Not IsNumeric(TextBox1.Text) Then
              MsgBox "Vous devez entrer une valeur numérique dans ce champ."
              TextBox1.Text = ""
              TextBox1.SetFocus
              Exit Sub
          End If
         If Not IsNumeric(TextBox2.Text) Then
              MsgBox "Vous devez entrer une valeur numérique dans ce champ."
              TextBox2.Text = ""
              TextBox2.SetFocus
              Exit Sub
          End If
         If Not IsNumeric(TextBox4.Text) Then
              MsgBox "Vous devez entrer une valeur numérique dans ce champ."
              TextBox4.Text = ""
              TextBox4.SetFocus
              Exit Sub
          End If
         If Not IsNumeric(TextBox5.Text) Then
              MsgBox "Vous devez entrer une valeur numérique dans ce champ."
              TextBox5.Text = ""
              TextBox5.SetFocus
              Exit Sub
          End If
         Userform1.Hide
     
        Dim L As Integer
    L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1
    Sheets("Feuil1").Range("a" & L) = TextBox1.Value
    Sheets("Feuil1").Range("b" & L) = TextBox2.Value
    Sheets("Feuil1").Range("c" & L) = ComboBox1.Value
    Sheets("Feuil1").Range("d" & L) = TextBox5.Value
    Sheets("Feuil1").Range("g" & L) = TextBox4.Value
     
     
        Unload Userform1
     
    End Sub
     
    Private Sub CommandButton3_Click()
    Dim L As Integer
    Dim r As Range
    L = Sheets("Feuil1").Range("a65536").End(xlUp).Row + 1
    Set r = Sheets("Feuil1").Range("a2:a" & L).Find(TextBox1)
    If r Is Nothing Then
    MsgBox ("OF Introuvable")
    Else
    TextBox1.Value = r
    TextBox2.Value = r.Offset(0, 1)
    ComboBox1.Value = r.Offset(0, 2)
    TextBox4.Value = r.Offset(0, 6)
    TextBox5.Value = r.Offset(0, 3)
    End If
    End Sub
     
     
    Private Sub CommandButton2_Click()
    Unload Userform1
    End Sub

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

Discussions similaires

  1. [XL-2010] Lancement d'une macro par clic droit sur un bouton
    Par Thanatos2 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/04/2015, 22h55
  2. [VBA] [5.1.8] Créer une requête BO (via Macro depuis Excel)
    Par Bretonnie dans le forum SDK
    Réponses: 6
    Dernier message: 08/04/2015, 18h20
  3. [XL-2010] Erreur 400, lancement de macro depuis menu contextuel
    Par Drowan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/08/2014, 11h46
  4. lancement d'un macro vba depuis Php
    Par adilsoft dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/07/2013, 11h47
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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