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 :

argument de Sub


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 79
    Par défaut argument de Sub
    Bonjour à tous.
    Dans le code suivant, je souhaiterais que la variable "Rig" soit valorisée uniquement si la Sub est appelée SANS argument.
    Sauf que je n'arrive pas à trouver comment faire comprendre à VBA que je veux que l'argument soit FACULTATIF !
    Il me dit tout le temps qu'il est obligatoire...
    Quelqu'un saurait me suggérer une solution?
    Merci !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Caricariga(Rig)
    If Rig Is Nothing Then
        Rig = ActiveCell.Row
    End If
    TextBox1 = Cells(Rig, 1)
    '(etc etc)
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Je n'ai pas compris ton exemple mais regarde du côté de Optional

    1. Ci-joint exemple simple avec IsMissing (la variable doit être variant)
    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
    Sub MaSub(Optional k As Variant)
    Dim t As Integer
     
    If IsMissing(k) Then
        t = 100
    Else
        t = k
    End If
    Range("A1") = t
    End Sub
     
    'Teste les 2 cas
    Sub test()
     
    Call MaSub
    'Call masub(12)
    End Sub
    2. Un autre exemple avec une valeur 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
    Sub MaSub(Optional k As Integer = 100)
    Dim t As Integer
     
    t = k
    Range("A1") = t
    End Sub
     
    'Teste les 2 cas
    Sub test()
     
    Call MaSub
    'Call MaSub(12)
    End Sub

Discussions similaires

  1. [A-07] Question passage arguments Sub
    Par AlainL dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/01/2009, 16h02
  2. changer l'argument d'une sub
    Par Dafbau dans le forum IHM
    Réponses: 2
    Dernier message: 11/09/2007, 12h10
  3. Declaration argument de sub
    Par tidoc dans le forum VB.NET
    Réponses: 1
    Dernier message: 31/07/2007, 11h55
  4. Passer un argument a Sub UserForm_Initialize(position As Integer)
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/06/2007, 12h47
  5. Réponses: 5
    Dernier message: 10/03/2006, 17h13

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