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 :

probleme de syntaxe en vba


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut probleme de syntaxe en vba
    bjr à tous,
    j'ai un petit souci avec une fonction pour trouver le premier jour d'une semaine en fonction de l'année et et du numero de semaine.
    voici la fonction trouvee dans la FAQ :
    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
     
    Public Function PremierJourSemaine(ByVal numSemaine As Byte, ByVal annee As Integer) As Date
    Dim d As Date
    Dim numS As Integer
    ' premier jour de l'année
    d = DateSerial(annee, 1, 1)
    ' numéro de la semaine du 1er janvier
    numS = DatePart("ww", d, vbMonday, vbFirstFourDays)
    ' si le 1er janvier fait partie de la dernière semaine de l'année précédente
    ' alors passe à la semaine suivante (la première de la nouvelle année)
    If numS <> 1 Then d = DateAdd("d", 7, d)
    ' calcule le premier jour de la première semaine de l'année
    d = DateAdd("d", 1 - Weekday(d, vbMonday), d)
    ' ajoute (numSemaine-1) semaines
    PremierJourSemaine = DateAdd("ww", numSemaine - 1, d)
    End Function
    le champ "PremierJour a pour valeur par defaut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PremierJour.Value = PremierJourSemaine(Me.ChoixSemaine,Me.ChoixAnnee)
    les 2 variables correspondent à 2 listes deroulantes... ça ne fonctionnent pas , ça me dit qu'il y une erreur de ( ou de ! ou de .

    Alors que si je remplace les variables par un numero de semaine et un numero d'annee comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PremierJourSemaine(26,2006)
    ça fonctionne ! quelqu'un peut-il m'aider ? Merci d'avance

  2. #2
    Membre Expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Par défaut
    Bonjour,

    Ton erreur est normale, puisque que tu ne précise pas ou prendre la valeur dans tes listes déroulantes...
    Un petit changement dans ton code et cela fonctionnera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.PremierJour.Value = PremierJourSemaine(Me.ChoixSemaine.Column(0), Me.ChoixAnnee.Column(0))
    Ici, "Column(0)" précise que la valeur correspond à ta première colonne de ta liste déroulante

    Bonne continuation...

  3. #3
    Invité
    Invité(e)
    Par défaut
    excuse me sir ! je ne pensais pas qu'il faille preciser la colonne quand celle-ci est colonne unique... maintenant ça fonctionne ! merci à toi Free

Discussions similaires

  1. probleme de syntaxe dans requete vba
    Par Invité dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/07/2008, 18h31
  2. problem de syntaxe pour excel sql vba
    Par DIDIDIDA dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/01/2008, 14h32
  3. probleme fonction syntaxe
    Par gIch dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 09h52
  4. [Débutante] Problèmes de syntaxe
    Par new_wave dans le forum Prolog
    Réponses: 4
    Dernier message: 02/11/2004, 18h39
  5. Problemes de syntaxe
    Par maahta dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 01/10/2003, 13h40

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