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 :

[E-00][VBA] Créer une fonction et ses arguments


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 138
    Points
    138
    Par défaut [E-00][VBA] Créer une fonction et ses arguments
    Bonjour à tous,

    Je me demande si on peut créer une fonction et ses arguments.

    Ex:

    J'utilise souvent des questions qui attendent des dates en réponse.
    Mon idée est de créer une fonction qui demande des arguments et le reste utilise la fonction.

    merci de votre aide.

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    C'est possible
    Voir l'aide vba de "function () / end function"

  3. #3
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Voici à lire un excellent tuto sur la création de fonctions personnelles

    Bonne lecture

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 138
    Points
    138
    Par défaut
    Bonjour à tous,

    D'abord merci pour l'intérêt que vous me portez.

    Je suis pas certain de vouloir une fonction en fait car elle ne permet pas mon programme.

    j'utilise une procédure dont je ne connais pas encore le nom pour faire varier certain mot dans mes lignes d'instruction afin de ne pas écrire cinquante fois les mêmes lignes.

    voici mon idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ouverture_de_ma_procedure br_2opt_changer(n_ligne As Integer, question As String, eg1 As String, eg2 As String, br1 As String, br2 As String)
        If Cells(n_ligne, Range(question).Column).Value = eg1 Then
            br1.Value = True
        ElseIf Cells(n_ligne, Range(question).Column).Value = eg2 Then
            br2.Value = True
        Else
            br1.Value = False
            br2.Value = False
        End If
    fermeture_de_ma_procedure
    Si vous avez rien compris, poser moi des questions.

    merci

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 244
    Points : 138
    Points
    138
    Par défaut
    Bonjour à tous,

    Ce n'est pas une fonction mais on peut utilise un principe équivalent, si je dis des bêtises n'hésitez pas à me corrigé.

    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
     
    Sub verifieTexte(LaChaine As String, lavariable As String)
        Dim reg As New VBScript_RegExp_55.RegExp
        Dim ValideTexte As Boolean
     
        reg.Pattern = "^[A-Z]{4}$"
        ValideTexte = reg.Test(LaChaine)
     
        Set reg = Nothing
     
        If LaChaine <> "" And ValideTexte = False Then
            MsgBox ("Merci de saisir quatre lettres !")
            Me.Controls(lavariable).Value = ""
            Me.Controls(lavariable).SetFocus
        End If
    End Sub
    Dans mon événement j'utilise un call verifieTexte pour appeler les instructions.

    Merci à tous

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

Discussions similaires

  1. [AC-2010] Créer une fonction VBA, erreur de syntaxe
    Par aurelien76 dans le forum VBA Access
    Réponses: 6
    Dernier message: 08/06/2013, 12h03
  2. Réponses: 11
    Dernier message: 20/11/2010, 13h08
  3. [v8.3] Créer une fonction avec un argument "tableau de composites" ?
    Par pierredesproges dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/05/2008, 14h49
  4. Réponses: 6
    Dernier message: 10/08/2005, 11h36
  5. Créer une fonction mathématique pendant l'exécution
    Par zeprogrameur dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2004, 11h36

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