1. #1
    Membre du Club
    Profil pro
    Inscrit en
    février 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 89
    Points : 45
    Points
    45

    Par défaut Problème de code ou macro remettre un champ a 0 en fonction d'une date

    Bonjour à toutes et à tous

    je dois résoudre un petit problème surement très simple pour vous les spécialistes mais pour moi c'est un case tête lol

    voila le souci dans un formulaire:

    j'ai un champ ref( pas num auto c'est un champ ordinaire numérique) qui est rempli à la main car ne concerne que peu d'enregistrement ou on met une réf du type 1, 2 , 3 etc.

    pour éviter que l'opératrice cherche sur une liste écrite la dernière ref employée j'ai mis un champ :"dernière ref employée" avec la formule suivante : =MaxDom("[RéfDon]";"[Adhérents]")

    ça fonctionne très bien mais ça prend le dernier numéro toutes années confondues ( en fait des saisons a cheval sur 2 ans juin à sept mais plusieurs saisons présentes)

    or le résultat désiré est le même, indiquer le dernier numéro utilisé mais la ref, elle doit se mettre a 0 a chaque départ de saison à savoir chaque 31 mai de chaque année

    et je ne sais pas faire ça

    Merci de votre aide

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    mai 2012
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : mai 2012
    Messages : 3 383
    Points : 6 830
    Points
    6 830

    Par défaut

    Bonjour,

    Donc j'imagine que tu as un champ de type date qui te permet d'enregistrer la date d'encodage dans ta table.
    Il faudrait rajouter un critère dans ta fonction qui va comparer ces dates avec ta date de référence.
    Exemple si ce champ se nomme Date_Enr

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MaxDom("[RéfDon]";"[Adhérents]";"[Date_enr]>#" & DateSerial(year(Date())-1,5,31)& "#")
    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    février 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 89
    Points : 45
    Points
    45

    Par défaut merci a toi

    je te remercie de cette prompt réponse

    En effet dans la même table j'ai un champ "date d'inscription "

    je vais le mettre de suite, donc on est bien d'accord à chaque 31 mai le champ réf se met a zéro et ds le champ "dernière ref" j'ai le dernier chiffre utilisé entre les 31 mai de chaque saison

    Merci à toi ah code quand tu nous tiens lol

    cordialement

    pat

    Aprés essai il y a une erreur de syntaxe ce ne serait pas dans la date 1,5,31 ????

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    mai 2012
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : mai 2012
    Messages : 3 383
    Points : 6 830
    Points
    6 830

    Par défaut

    Bonsoir,

    Si tu es dans un champ de formulaire, il faudrait remplacer les virgules par des point-virgules.
    Fais une recherche sur la fonction DateSerial en même temps.

    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    février 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 89
    Points : 45
    Points
    45

    Par défaut je ne comprends pas la formule

    je ne la comprends pas la formule donc pour la corriger je suis désolé je ne comprends pas la deuxième partie & DateSerial(year(Date())-
    virgule ou point virgule ne fonctionne pas

    ma ref date [date inscription] est dans la même table mais sur le formulaire dans un autre onglet ? y a t il une incidence ?

    en fait j'ai dans un onglet

    date inscription

    dans un autre onglet dans le même formulaire

    Réfdon c'est dans ce champ on met a la main les ref 1,2, 3 etc ( tout le monde ne donne pas )

    et un champ "dernie N° utilisé RéfDons" champ indépendant pour mettre la formule que j'ai corrigé comme suit: ce champ est un champ consultatif non présent dans la table ajouter au formulaire

    =MaxDom("[RéfDon]";"[Adhérents]";"[ Date inscription]>#" & DateSerial(year(Date())-1;5;31)& "#")

    j'ai remplacé les virgule également rien ça fait même trembler le champ et il se grise complétement! ?erreur quoi ?

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    mai 2012
    Messages
    3 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : mai 2012
    Messages : 3 383
    Points : 6 830
    Points
    6 830

    Par défaut

    Bonsoir,

    Désolé, mais j'étais pas assez précis dans mon explication et j'ai fait une erreur dans le nom de la fonction.
    C'est plutôt la fonction SérieDate en français au lieu de SerialDate dans ma mauvaise interprétation . La fonction renvoie une valeur variant (Date) constituée par 3 entiers dans l'ordre année, mois et jour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MaxDom("[RefDon]";"[Adherents]";"[Date_Inscription]>#" & SérieDate(Année(Date())-1;5;31) & "#")
    La fonction Nz affine et propose 0 si jamais il n'y a pas de valeurs correspondantes au critère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =nz(MaxDom("[RefDon]";"[Adherents]";"[Date_Inscription]>#" & SérieDate(Année(Date())-1;5;31) & "#");0)
    Cordialement.
    Mandresy
    "Je ne sais qu'une chose, c'est que je ne sais rien" Socrate

    N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.

    Merci, c'est toujours sympa de recevoir des de votre part

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    février 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2005
    Messages : 89
    Points : 45
    Points
    45

    Par défaut je m'y suis mal pris mille excuszes

    je pense que j'ai mal posé le problème pourquoi faire compliqué quand on peut faire simple

    j'ai 2 champs

    1°) Réfdon qui est mis à la main au fur et à mesure du besoin tout le monde ne fait pas un don)

    2°) DernierN°RéfDonUtilisé =MaxDom("[RéfDon]";"[Adhérents]")

    le formule fait nickel son job

    j'aurais besoin en fait que chaque 31 mai de chaque année le champ 1 soit RéfDon se mette a 0 : quel code ?

    bien entendu comment faire pour cette saison, on est en juillet et ça doit passer en mai au 31 a 0 ??? uniquement pour rattraper le coup maintenant ensuite la formule fera son travail

    je pense que c'est plus clair comme ça non ?!

    Cordialement

    pat

Discussions similaires

  1. [XL-2007] Macro VBA - envoi email via Outlook en fonction d'une date / échéance
    Par Flo18goldengirl dans le forum Excel
    Réponses: 2
    Dernier message: 27/08/2014, 17h24
  2. problème de code pour macro
    Par bastienb1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/02/2013, 13h20
  3. [XL-2007] macro VBA en fonction d'une date
    Par clempy49 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2012, 14h08
  4. macro en fonction d'une date
    Par julielef dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 24/03/2011, 19h27
  5. Réponses: 31
    Dernier message: 19/04/2010, 20h37

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