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

VBA Access Discussion :

Utilisation valeur d'une fonction avec gauche().


Sujet :

VBA Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut Utilisation valeur d'une fonction avec gauche().
    Bonjour la Communauté


    Je voudrais utiliser la valeur de Numchaine dans LeMAtricule mais j'ai un message d'erreur "Argument non facultatif".

    Quelqu'un aurait une idee d'ou provient l'erreur.

    Merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    ....
     
    LeMatricule = Left(rst!NomNameMatrK,1, NumChaine)
     
    ............
     
    Public Function NumChaine(chaine) As String
    Dim A As String
     A = InStrRev(chaine, "-") - 2
    NumChaine = A
     
    End Function

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Bonjour,
    2 commentaires :
    1.
    la fonction Left() te retourne les x premiers caractères d'une chaine. Tu dois donc lui dire "Donne-moi les X premières lettres de blahblah". Donc, tu lui donne la chaine blahblah et le nombre de caractères, soit deux choses.
    Dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left(rst!NomNameMatrK,1, NumChaine)
    tu lui donnes 3 choses.
    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeMatricule = Left(rst!NomNameMatrK,1)
    alors LeMatricule contiendra le premier caractère de la chaine rst!NomNameMatrK
    Si tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeMatricule = Left(rst!NomNameMatrK,2)
    alors LeMatricule contiendra les deux premiers caractères de la chaine rst!NomNameMatrK ....



    2.
    à propos de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim A As String
     A = InStrRev(chaine, "-") - 2
    la fonction InStrRev te retourne la position d'une chaine parmi une autre. La position, c'est un numéro. Donc tu dois définir ta valeur A comme un nombre.
    Ce serait bien d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim A As Long
     A = InStrRev(chaine, "-") - 2
    Définir précisement les variables dès le début te permettra d'éviter des erreurs plus tard dans le code.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 469
    Points : 149
    Points
    149
    Par défaut
    Merci de ta réaction.

    Mais lorsque j'ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeMatricule = Left(rst!NomNameMatrK, NumChaine)
    Il me met le même message d'erreur "Argument non facultatif".

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    Il me met le même message d'erreur "Argument non facultatif".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeMatricule = Left(rst!NomNameMatrK, NumChaine)
    il attend l'argument chaine de NumChaine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function NumChaine(chaine) As String
    et en passant, n'oublie pas de déclarer NumChaine en numérique, pas en texte
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/09/2015, 16h34
  2. Réponses: 1
    Dernier message: 15/04/2015, 13h03
  3. Réponses: 15
    Dernier message: 26/01/2015, 19h37
  4. Récupérer la valeur d'une cellule avec fonction sur une autre feuille
    Par rogerlette dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/09/2010, 12h38
  5. recuperer la valeur d une fonction Max avec jdbc
    Par mitnick2006 dans le forum JDBC
    Réponses: 2
    Dernier message: 09/05/2008, 11h17

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