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 :

À partir d'une macro dans classeur a, ouvrir un classeur b et exécuter une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Conducteur de chantier
    Inscrit en
    Octobre 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conducteur de chantier
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2017
    Messages : 9
    Par défaut À partir d'une macro dans classeur a, ouvrir un classeur b et exécuter une macro
    Bonjour,

    J'ai un classeur (A) dans lequel j'ai une macro sur un bouton clic(b) qui lance un USF.
    Dans cet USF, des textbox dans lesquels il faut inscrire des données et un bouton clic(c) avec une macro qui enregistre ces données dans une ligne de tableau.

    J'aimerais à partir d'un autre classeur(b), a l'aide d'une macro sur un bouton clic

    • ouvrir classeur (A)
    • lancer la macro du bouton clic (b) sans devoir cliquer sur le bouton
    • fermer le classeur(A) après la macro du bouton clic (c)
    • revenir au classeur (B)



    J'ouvre le classeur (A) mais je n'arrive pas à trouver le code pour lancer la macro sur le bouton clic(b)

    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
    Workbooks.Open Filename:= _
            "E:\Liste_chantier.xlsm"
     
    'Executer macro :
    Sub Nouveau_chantier()
    UserFormNouveau_chantier.Show
    End Sub
     
    'Valider USF
    Private Sub Valider_chantier_Click()
    N_chantier = TextBox1.Value
    Nom_chantier = TextBox2.Value
    TAR = TextBox3.Value
    Rue = TextBox4.Value
    Rue_livraison = TextBox5.Value
    CP = TextBox6.Value
    Ville = TextBox7.Value
     
     
        Sheets("Liste").Select
     
            Dl = Cells(Rows.Count, 1).End(xlUp).Row + 1
     
    Cells(Dl, 1) = N_chantier
    Cells(Dl, 2) = Nom_chantier
    Cells(Dl, 3) = Rue
    Cells(Dl, 4) = Rue_livraison
    Cells(Dl, 5) = CP
    Cells(Dl, 6) = Ville
    Cells(Dl, 7) = TAR
     
     ActiveWorkbook.Worksheets("Liste").ListObjects("Tableau1").Sort.SortFields. _
            Clear
        ActiveWorkbook.Worksheets("Liste").ListObjects("Tableau1").Sort.SortFields.Add _
            Key:=Range("Tableau1[[#All],[N° Chantier]]"), SortOn:=xlSortOnValues, _
            Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Liste").ListObjects("Tableau1").Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
     
     
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
    TextBox5 = ""
    TextBox6 = ""
    TextBox7 = ""
    Sheets("Acceuil").Select
    UserFormNouveau_chantier.Hide
     
     
    Workbooks("Liste_chantier.xlsm").Save
     
    End Sub
     
    'Fermer classeur
    Workbooks("Liste_chantier.xlsm").Close
    Pourriez-vous m'aiguiller?

    Je vous remercie d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Conducteur de chantier
    Inscrit en
    Octobre 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conducteur de chantier
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2017
    Messages : 9
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim Wb As Workbook
    On Error Resume Next
    Set Wb = Workbooks("Liste_chantier.xlsm")
    On Error GoTo 0
    If Wb Is Nothing Then Workbooks.Open "E:\Liste_chantier.xlsm" _
    Else: Set Worbk = Nothing
     
    Workbooks("Liste_chantier").Activate
     
    Application.Run ("'Liste_chantier.xlsm'!Nouveau_chantier")
     
     
    Workbooks("Liste_chantier.xlsm").Close
    Résolu
    Désolé d'avoir demandé

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

Discussions similaires

  1. Macro de recherche dans une liste de mots à partir d'une DataBase
    Par Xorck dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/11/2014, 16h26
  2. [XL-2010] Ouvrir un pdf à partir d'une macro dans un bouton
    Par carocaro630 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/01/2013, 15h25
  3. [XL-2003] Ouvrir un classeur à partir d'une macro.
    Par chouchou_82 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/10/2010, 14h20
  4. Réponses: 6
    Dernier message: 01/05/2010, 17h39
  5. ecrire à partir d'une macro sous excel une valeur dans une base sql server
    Par Guena5635 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/04/2008, 08h53

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