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 :

Utiliser une fonction contenue dans un module standard dans un userform [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut Utiliser une fonction contenue dans un module standard dans un userform
    Bonjour a tous,

    je me suis décidé de refaire mon application mais je voudrais si cela et possible séparer mon code (comme dans PHP par exemple)
    avoir des fichiers séparer et faire des include

    donc je voudrais savoir si on peux faire ça ?
    avoir plusieurs modules

    Module1 ==> système de recherche
    Module2 ==> affichage des textbox
    Module3 ==> affichage contenu etc ...

    Module1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Option Explicit
     
    'fonction pour affichage des infos dans l'userform 1 pour la recherche
    Function affichage_de_la_recherche()
                TextBox2.Text = Cells(ligne, Range("DESIG").Column)
                TextBox3.Text = Cells(ligne, Range("TYPE").Column)
                TextBox4.Text = Cells(ligne, Range("MARQUE").Column)
                TextBox5.Text = Cells(ligne, Range("MAT").Column)
     
                'a compelete
     
    End Function

    userform1
    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
     
     
    'procedure TextBox1 KeyDown(quand on appui sur entrée)
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
     
    colonne = "MAT" 'sur quelle colonne on travail
    case_entiere = False 'casse_entiere vaut false donc 0
     
    Select Case KeyCode
                    Case 9 'touche Tab
                        KeyCode = vbKeyCancel
                        rechercheok = False
     
                    Case 13 'toucher entrée
                        valeur = TextBox1.Value
                        x = recherche(valeur, colonne, xlnext, case_entiere, xlPart)
     
                    Case 38 'key up (fléche vers le haut)
                        valeur = TextBox1.Value
                        x = recherche(valeur, colonne, xlPrevious, case_entiere, xlPart)
     
                    Case 40 'key down (fléche vers le bas)
                        valeur = TextBox1.Value
                        x = recherche(valeur, colonne, xlPrevious, case_entiere, xlPart)
    End Select
     
    If x = 1 Or x = 91 Then
        If x = 91 Then '91 donnée non trouver
            msgbox "Immatriculation inconnue"
        Else
            If rechercheok = True Then
     
                affichage_de_la_recherche  ' appel de la fonction
     
            End If
        End If
    End If
    End Sub
    pourquoi vous allez me demander car je voudrais ne pas avoir 5000 lignes de code à avoir un un seul userform
    et comme la fonction doit prendre encore d'autre ligne environ 20, et que j'ai pas mal de fonction de se style

    merci à tous

  2. #2
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Oui on peut.

    ex: si pour afficher les textbox qui sont dans userform on à un code qui est dans le module2
    il faut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm1.TextBox2.Text = Cells(ligne, Range("DESIG").Column)
    ici UserForm1 est le nom de ton UserForm

  3. #3
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    merci pour ta réponse

    mais sa change rien ta solution à moins que je ne la comprend pas

    faire une fonction qui affiche du texte dans une textbox je fait sa dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TextBox2.Text = Cells(ligne, Range("DESIG").Column)
    et sa dans l'userform ou et l'intérer ?
    et si j'ai 15 lignes il faut que je face ta ligne 15 fois autant coller ma fonction dans l'userform je pense !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UserForm1.TextBox2.Text = Cells(ligne, Range("DESIG").Column)
    comme dans mon code ce que je pensé plutôt s'est de créer une fonction qui affiche du texte par exemple dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function affichage_de_la_recherche()
     
        TextBox2.Text = Cells(ligne, Range("DESIG").Column)
        TextBox3.Text = Cells(ligne, Range("TYPE").Column)
        TextBox4.Text = Cells(ligne, Range("MARQUE").Column)
        TextBox5.Text = Cells(ligne, Range("MAT").Column)
        TextBox6.Text = Cells(ligne, Range("A").Column)
        TextBox7.Text = Cells(ligne, Range("B").Column)
        TextBox8.Text = Cells(ligne, Range("C").Column)
        TextBox9.Text = Cells(ligne, Range("D").Column)   
    End Function
    et dans l'userform avoir ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If rechercheok = True Then
            affichage_de_la_recherche 'et cela affiche la fonction    
    End If

  4. #4
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Citation Envoyé par tony76 Voir le message
    comme dans mon code ce que je pensé plutôt s'est de créer une fonction qui affiche du texte par exemple dans un module
    je t'ai répondue que oui ça ce fait, alors je t'ai donnée un exemple
    revoici un exemple plus complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function affichage_de_la_recherche()
     
        UserForm1.TextBox2.Text = Cells(ligne, Range("DESIG").Column)
        UserForm1.TextBox3.Text = Cells(ligne, Range("TYPE").Column)
        UserForm1.TextBox4.Text = Cells(ligne, Range("MARQUE").Column)
        UserForm1.TextBox5.Text = Cells(ligne, Range("MAT").Column)
        UserForm1.TextBox6.Text = Cells(ligne, Range("A").Column)
        UserForm1.TextBox7.Text = Cells(ligne, Range("B").Column)
        UserForm1.TextBox8.Text = Cells(ligne, Range("C").Column)
        UserForm1.TextBox9.Text = Cells(ligne, Range("D").Column)   
    End Function

  5. #5
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Une petite précision tout de même. Une fonction sert à retourner une valeur ou un tableau de valeurs et non à faire le travail d'une Sub c'est à dire effectuer des actions ! Donc, plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub affichage_de_la_recherche()
     
        UserForm1.TextBox2.Text = Cells(ligne, Range("DESIG").Column)
        UserForm1.TextBox3.Text = Cells(ligne, Range("TYPE").Column)
        UserForm1.TextBox4.Text = Cells(ligne, Range("MARQUE").Column)
        UserForm1.TextBox5.Text = Cells(ligne, Range("MAT").Column)
        UserForm1.TextBox6.Text = Cells(ligne, Range("A").Column)
        UserForm1.TextBox7.Text = Cells(ligne, Range("B").Column)
        UserForm1.TextBox8.Text = Cells(ligne, Range("C").Column)
        UserForm1.TextBox9.Text = Cells(ligne, Range("D").Column)
     
    End Sub
    Si par contre une fonction est préférée, alors peut être de cette façon (dans le module standard) :
    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
     
    Function affichage_de_la_recherche(Ligne As Long) As String()
     
        Dim Tbl(1 To 8) As String
     
        Tbl(1) = Cells(Ligne, Range("DESIG").Column)
        Tbl(2) = Cells(Ligne, Range("TYPE").Column)
        Tbl(3) = Cells(Ligne, Range("MARQUE").Column)
        Tbl(4) = Cells(Ligne, Range("MAT").Column)
        Tbl(5) = Cells(Ligne, Range("A").Column)
        Tbl(6) = Cells(Ligne, Range("B").Column)
        Tbl(7) = Cells(Ligne, Range("C").Column)
        Tbl(8) = Cells(Ligne, Range("D").Column)
     
        affichage_de_la_recherche = Tbl
     
    End Function
    dans le module de la Form. Les TextBox étant nommés comme tu le montre "TextBox1", "TextBox2", etc... :
    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
     
    Private Sub UserForm_Initialize()
     
        Dim Tbl() As String
        Dim I As Integer
     
        Tbl = affichage_de_la_recherche(1)
     
        For I = 1 To UBound(Tbl)
     
            Me.Controls("TextBox" & I + 1).Text = Tbl(I)
     
        Next I
     
    End Sub
    Hervé.

  6. #6
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Merci gnain et désoler j'ai pas fait attention j'ai percuté plus tard

    par contre pour l'afficher dans l'userform ?

    juste ça (affichage_de_la_recherche) sa ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    If rechercheok = True Then
            affichage_de_la_recherche 'et cela affiche la fonction ou de la procédure
    End If
    Theze merci pour cette leçon

    je garde ton code sous le coude

    par contre j'ai testé je n'arrive pas a le placer dans mon if ci-dessus code complet voir premier message mais comme tu le dis
    un sub serais mieux car pas de résultat à renvoyer mais le problème reste entier comment afficher se sub ?
    sans retapé toute les lignes bien sur

    le but étant, vous l'avez compris et de tapé le moins de code ne pas répété 50 fois les même lignes

    merci a vous

  7. #7
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Citation Envoyé par tony76 Voir le message
    par contre pour l'afficher dans l'userform ?
    vous n'avez pas à retaper le code, il est dans un module point
    alors mettre dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub affichage_de_la_recherche()
     
        UserForm1.TextBox2.Text = Cells(ligne, Range("DESIG").Column)
        UserForm1.TextBox3.Text = Cells(ligne, Range("TYPE").Column)
        UserForm1.TextBox4.Text = Cells(ligne, Range("MARQUE").Column)
        UserForm1.TextBox5.Text = Cells(ligne, Range("MAT").Column)
        UserForm1.TextBox6.Text = Cells(ligne, Range("A").Column)
        UserForm1.TextBox7.Text = Cells(ligne, Range("B").Column)
        UserForm1.TextBox8.Text = Cells(ligne, Range("C").Column)
        UserForm1.TextBox9.Text = Cells(ligne, Range("D").Column)
     
    End Sub
    mettre dans le userform
    exemple dans un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
    If rechercheok = True Then
            affichage_de_la_recherche 
    End If
    End Sub
    affichage_de_la_recherche ne sera pas affiché dans le userform mais sera appelé à s'exécuté.

  8. #8
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    Si la récupération des valeurs est sur l'évènement Click d'un bouton, ça pourrait donner ce qui suit. Adapter le numéro de ligne (ici Lgn pour le test) qui est passé en argument à la fonction, cette variable peut être déclarée en tête du module de la Form de cette façon, sa valeur peut être modifiée ailleur :
    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
     
    Private Sub CommandButton1_Click()
     
        Dim Tbl() As String
        Dim I As Integer
        Dim Lgn As Integer
     
        If rechercheok = True Then
     
            Lgn = 1 'pour le test, ligne 1
           Tbl = affichage_de_la_recherche(Lgn)
     
           For I = 1 To UBound(Tbl)
     
               Me.Controls("TextBox" & I + 1).Text = Tbl(I)
     
           Next I
     
        End If
     
    End Sub
    La fonction étant dans un module standard.

    Je suis plutôt pour ce type d'utilisation car je pense qu'il est préférable que les références à des objets situés sur la Form reste dans le module de la Form et donc, pour faire référence à ces objets, on les passe en arguments soit en tant qu'objet, soit une valeur d'une de leurs propriétés et ceci, à des Subs ou Fonctions, de cette façon, elles deviennent plus souples. Mais ceci n'engage que moi d'autres préfèrent probablement faire différemment.

    Hervé.

  9. #9
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    merci

    juste que se code et déjà dans un sub

    et j'ai aussi placer la ...... comment ont peux dire..... la variable qui devrais exécuter le code
    et cela ne marche pas

    c'est dommage sa marche très bien si ont mais tous ça dans l'userform mais a force sa devient du code spaghetti

    Révolution-TDMI-2.0.xlsm

    je crois que j'ai la solution sous les yeux mes j'arrive pas a la mettre en place
    si je peux avoir un coup de pouce merci

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Personnellement, je préfère une sub ou une fonction générique à une méthode dédiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'fonction pour affichage des infos dans l'userform 1 pour la recherche
    Function affichage_de_la_recherche(ligne as long)
    dim Bt(3)
               Bt(0) = Cells(ligne, Range("DESIG").Column)
               Bt(1)  = Cells(ligne, Range("TYPE").Column)
               Bt(2)  = Cells(ligne, Range("MARQUE").Column)
               Bt(3) = Cells(ligne, Range("MAT").Column)
     
              affichage_de_la_recherche=Bt
     
    End Function
    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
    Private Sub CommandButton1_Click()
     
        Dim Tbl() As String
        Dim I As Integer
        Dim Lgn As Integer
     
        If rechercheok = True Then
     
            Lgn = 1 'pour le test, ligne 1
           Tbl = affichage_de_la_recherche(Lgn)
     
           For I = 1 To UBound(Tbl)
     
               Me.Controls("TextBox" & I + 1).Text = Tbl(I)
     
           Next I
     
        End If
     
    End Sub

  11. #11
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour Robert,

    C'est exactement ce que j'ai proposé à Tony car je trouve que c'est plus clair et plus souple et comme elle est générique elle peut être utilisée plusieurs fois ce qui fini par réduire les lignes de code.
    c'est dommage sa marche très bien si ont mais tous ça dans l'userform mais a force sa devient du code spaghetti
    Pour garder de la souplesse, la fonction "affichage_de_la_recherche" ne doit pas être dans le module de la Form.

    Hervé.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour Theze,
    Oui tu as raison mais j'ai lue après!

    je me suis emberlificoté dans les réponse je suis partie du post 4 en tout en lui répondant panachant avec d'autre réponse qui prenait le TxBox ou le UsF!

    bref un truc au checkeur!

  13. #13
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    Merci a tous pour vos code qui son très bien

    mais je n'arrive pas a les faire fonctionner.

  14. #14
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour,
    j'ai jeter un coup d'œil à votre fichier,
    voici vos erreurs

    premièrement tes variables Public doivent être toujours déclarées dans un module.
    deuxièmement, je le répète pour la enième fois il faut mettre dans ton module UserForm1.Textbox2.Text = ...

    donc il faut supprimer les variables Public dans ton userform et les mettres dans le module

    dans votre module il faut ceci
    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
    Option Explicit
    
    Public rechercheok As Boolean
    Public adresse_cellule_debut As String
    Public Ligne As Integer
    
    'fonction ou prodédure pour affichage des infos dans l'userform 1 pour la recherche
    Sub affichage_de_la_recherche()
     
        UserForm1.TextBox2.Text = Cells(Ligne, Range("DESIG").Column)
        UserForm1.TextBox3.Text = Cells(Ligne, Range("TYPE").Column)
        UserForm1.TextBox4.Text = Cells(Ligne, Range("MARQUE").Column)
        UserForm1.TextBox5.Text = Cells(Ligne, Range("MAT").Column)
        
    End Sub
    Je vous ai seulement montré vos erreurs dans votre code pour qu'il soit viable.
    Mais personnellement je m'y aurait pris autrement.

    Ce que rdurupt et Theze on évoqué sont à prendre en considération pour la manière comment codé correctement.

  15. #15
    Membre régulier Avatar de tony76
    Homme Profil pro
    Développeur pour le plaisir....
    Inscrit en
    Avril 2014
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur pour le plaisir....

    Informations forums :
    Inscription : Avril 2014
    Messages : 131
    Points : 116
    Points
    116
    Par défaut
    merci beaucoup gnain c'est exactement ce que je voulais mais la sa marche
    j'avais fait exactement ça sans les variable public avant bon ! en fin bref .......

    pour ce que tu dis je suis preneur de toute information utile, pris autrement ok rien n'est figé
    encore merci à tous

  16. #16
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Encore une petite précision concernant les variables déclarées Public dans le module d'un objet (Workbook, Worksheets, Userform) elles sont considérées comme des propriétés et apparaissent dans l'intellisense il suffit donc de les faire précéder d'un point pour y avoir accès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    msgbox UserForm1.rechercheok
    msgbox UserForm1.adresse_cellule_debut
    et il en va de même pour les fonctions et subs situées dans le module de l'objet du moment quelles sont Public et ceci, que la Form soit ouverte ou non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ValeurRecup = UserForm1.recherche(arg1, arg2, arg3, True, arg4) 'appel de la fonction
    UserForm1.MaMacro 'appel de la Sub
    Hervé.

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

Discussions similaires

  1. [ZF 2.0] Utiliser une fonction d'un autre module
    Par xl-celine dans le forum MVC
    Réponses: 1
    Dernier message: 07/03/2013, 16h02
  2. utilisation d'une fonction contenue dans une DLL
    Par granbapt dans le forum Visual C++
    Réponses: 4
    Dernier message: 08/06/2012, 14h13
  3. [XL-2007] Utiliser une fonction contenue dans une cellule
    Par Karrig dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 28/12/2009, 11h26
  4. Réponses: 4
    Dernier message: 27/11/2009, 18h08
  5. Utiliser une fonction dans un module
    Par formidable78 dans le forum VBA Access
    Réponses: 11
    Dernier message: 30/01/2008, 13h49

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