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 :

Créer et utiliser une fonction publique [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 41
    Points : 28
    Points
    28
    Par défaut Créer et utiliser une fonction publique
    Bonjour les développeurs,

    Toujours dans mes débuts, je bloque encore...
    J'ai différents UserForms, dans chacun je déclarais une fonction_ouvre() dans laquelle j'ouvre un tableur (Workbooks.Open Filename:= _"source") et j'utilise ensuite Call fonction_ouvre

    Jusque la ca fonctionnait, mais j'ai voulu faire plus "propre" et ne créer qu'une seule fois la fonction_ouvre() dans Module1
    Et comme j'ouvre parfois d'autres tableurs, j'ai voulu passer le workbook voulu en tant que paramètre...

    Dans Module1 j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub fonction_ouvre(WorkbookVoulu)
    If WorkbookVoulu="Recherches" Then
    Workbooks.Open Filename:= _
    "source" 'Identique à avant
    End If
    If WorkbookVoulu="LogBook" Then
    Workbooks.Open Filename:= _
    "source" 'Identique à avant
    End If
    Et dans mes UserForms je fais comme ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call fonction_ouvre(Recherches)
    Je n'ai pas l'habitude de passer ni variable ni fonction d'un module à userform, je m'y prends sans doute mal, quelqu'un sait il m'aider à comprendre comment faudrait il s'y prendre?

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    Après quelques tests, ça a l'air de fonctionner à présent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub fonction_ouvre(WorkbookVoulu As String)
    If WorkbookVoulu="Recherches" Then
    Workbooks.Open Filename:= _
    "source" 'Identique à avant
    End If
    If WorkbookVoulu="LogBook" Then
    Workbooks.Open Filename:= _
    "source" 'Identique à avant
    End If
    et en l'utilsant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call fonction_ouvre("Recherches")
    Pouvez-vous me confirmer que c'est propre ainsi?

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 10/02/2017, 18h53
  2. [XL-2010] VBA faire une boucle (et utiliser une fonction créer)
    Par tetro27 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/07/2016, 22h50
  3. Réponses: 4
    Dernier message: 16/02/2014, 17h06
  4. Comment créer un bloc qui utilise une fonction MATLAB
    Par Suzuki3694 dans le forum Simulink
    Réponses: 6
    Dernier message: 18/07/2011, 09h54
  5. [MFC] Comment créer et utiliser une base Access
    Par maitre hibou dans le forum MFC
    Réponses: 3
    Dernier message: 10/05/2004, 18h11

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